Merge branch 'bestflow' of https://git.oschina.net/yubaolee/OpenAuth.Net into bestflow

This commit is contained in:
四少爷
2017-04-18 09:54:34 +08:00
34 changed files with 2743 additions and 2517 deletions

View File

@@ -129,7 +129,7 @@ namespace OpenAuth.App
var sameLevels = _repository.Find(o => o.ParentId == org.ParentId && o.Id != org.Id);
foreach (var obj in sameLevels)
{
int objCascadeId = int.Parse(obj.CascadeId.Split('.').Last());
int objCascadeId = int.Parse(obj.CascadeId.TrimEnd('.').Split('.').Last());
if (currentCascadeId <= objCascadeId) currentCascadeId = objCascadeId + 1;
}
@@ -138,7 +138,7 @@ namespace OpenAuth.App
var parentOrg = _repository.FindSingle(o => o.Id == org.ParentId);
if (parentOrg != null)
{
cascadeId = parentOrg.CascadeId + "." + currentCascadeId;
cascadeId = parentOrg.CascadeId + currentCascadeId +".";
}
else
{
@@ -147,7 +147,7 @@ namespace OpenAuth.App
}
else
{
cascadeId = "0." + currentCascadeId;
cascadeId = "0." + currentCascadeId +".";
}
org.CascadeId = cascadeId;

File diff suppressed because it is too large Load Diff

View File

@@ -131,7 +131,7 @@ namespace OpenAuth.App
var sameLevels = _repository.Find(o => o.ParentId == org.ParentId && o.Id != org.Id);
foreach (var obj in sameLevels)
{
int objCascadeId = int.Parse(obj.CascadeId.Split('.').Last());
int objCascadeId = int.Parse(obj.CascadeId.TrimEnd('.').Split('.').Last());
if (currentCascadeId <= objCascadeId) currentCascadeId = objCascadeId + 1;
}
@@ -140,7 +140,7 @@ namespace OpenAuth.App
var parentOrg = _repository.FindSingle(o => o.Id == org.ParentId);
if (parentOrg != null)
{
cascadeId = parentOrg.CascadeId + "." + currentCascadeId;
cascadeId = parentOrg.CascadeId + currentCascadeId+".";
org.ParentName = parentOrg.Name;
}
else
@@ -150,7 +150,7 @@ namespace OpenAuth.App
}
else
{
cascadeId = "0." + currentCascadeId;
cascadeId = "0." + currentCascadeId+".";
org.ParentName = "根节点";
}

View File

@@ -1,30 +1,30 @@
using System;
namespace OpenAuth.App.SSO
{
public class PassportLoginRequest
{
public string UserName { get; set; }
public string Password { get; set; }
public string AppKey { get; set; }
public void Trim()
{
if (string.IsNullOrEmpty(UserName))
{
throw new Exception("用户名不能为空");
}
if (string.IsNullOrEmpty(Password))
{
throw new Exception("密码不能为空");
}
UserName = UserName.Trim();
Password = Password.Trim();
if(!string.IsNullOrEmpty(AppKey)) AppKey = AppKey.Trim();
}
}
using System;
namespace OpenAuth.App.SSO
{
public class PassportLoginRequest
{
public string UserName { get; set; }
public string Password { get; set; }
public string AppKey { get; set; }
public void Trim()
{
if (string.IsNullOrEmpty(UserName))
{
throw new Exception("用户名不能为空");
}
if (string.IsNullOrEmpty(Password))
{
throw new Exception("密码不能为空");
}
UserName = UserName.Trim();
Password = Password.Trim();
if(!string.IsNullOrEmpty(AppKey)) AppKey = AppKey.Trim();
}
}
}

View File

@@ -1,78 +1,78 @@
using System;
using System.Web;
using System.Web.Mvc;
using Infrastructure;
using Infrastructure.Cache;
using OpenAuth.Domain;
namespace OpenAuth.App.SSO
{
public class SSOAuthUtil
{
public static LoginResult Parse(PassportLoginRequest model)
{
var result = new LoginResult();
try
{
model.Trim();
//<2F><>ȡӦ<C8A1><D3A6><EFBFBD><EFBFBD>Ϣ
var appInfo = new AppInfoService().Get(model.AppKey);
if (appInfo == null)
{
throw new Exception(<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>");
}
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
User userInfo = null;
if (model.UserName == "System")
{
userInfo = new User
{
Id = Guid.Empty,
Account = "System",
Name ="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա",
Password = "123456"
};
}
else
{
var usermanager = (UserManagerApp)DependencyResolver.Current.GetService(typeof(UserManagerApp));
userInfo = usermanager.Get(model.UserName);
}
if (userInfo == null)
{
throw new Exception("<22>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
}
if (userInfo.Password != model.Password)
{
throw new Exception("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
}
var currentSession = new UserAuthSession
{
UserName = model.UserName,
Token = Guid.NewGuid().ToString().GetHashCode().ToString("x"),
AppKey = model.AppKey,
CreateTime = DateTime.Now,
IpAddress = HttpContext.Current.Request.UserHostAddress
};
//<2F><><EFBFBD><EFBFBD>Session
new ObjCacheProvider<UserAuthSession>().Create(currentSession.Token, currentSession, DateTime.Now.AddDays(10));
result.Success = true;
result.ReturnUrl = appInfo.ReturnUrl;
result.Token = currentSession.Token;
}
catch (Exception ex)
{
result.Success = false;
result.ErrorMsg = ex.Message;
}
return result;
}
}
using System;
using System.Web;
using System.Web.Mvc;
using Infrastructure;
using Infrastructure.Cache;
using OpenAuth.Domain;
namespace OpenAuth.App.SSO
{
public class SSOAuthUtil
{
public static LoginResult Parse(PassportLoginRequest model)
{
var result = new LoginResult();
try
{
model.Trim();
//<2F><>ȡӦ<C8A1><D3A6><EFBFBD><EFBFBD>Ϣ
var appInfo = new AppInfoService().Get(model.AppKey);
if (appInfo == null)
{
throw new Exception(<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>");
}
//<2F><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
User userInfo = null;
if (model.UserName == "System")
{
userInfo = new User
{
Id = Guid.Empty,
Account = "System",
Name ="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա",
Password = "123456"
};
}
else
{
var usermanager = (UserManagerApp)DependencyResolver.Current.GetService(typeof(UserManagerApp));
userInfo = usermanager.Get(model.UserName);
}
if (userInfo == null)
{
throw new Exception("<22>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
}
if (userInfo.Password != model.Password)
{
throw new Exception("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
}
var currentSession = new UserAuthSession
{
UserName = model.UserName,
Token = Guid.NewGuid().ToString().GetHashCode().ToString("x"),
AppKey = model.AppKey,
CreateTime = DateTime.Now,
IpAddress = HttpContext.Current.Request.UserHostAddress
};
//<2F><><EFBFBD><EFBFBD>Session
new ObjCacheProvider<UserAuthSession>().Create(currentSession.Token, currentSession, DateTime.Now.AddDays(10));
result.Success = true;
result.ReturnUrl = appInfo.ReturnUrl;
result.Token = currentSession.Token;
}
catch (Exception ex)
{
result.Success = false;
result.ErrorMsg = ex.Message;
}
return result;
}
}
}

View File

@@ -114,6 +114,8 @@ namespace OpenAuth.App
public void AddOrUpdate(UserView view)
{
if (string.IsNullOrEmpty(view.OrganizationIds))
throw new Exception("请为用户分配机构");
User user = view;
if (user.Id == Guid.Empty)
{

File diff suppressed because it is too large Load Diff

View File

@@ -152,7 +152,7 @@ namespace OpenAuth.Domain.Service
var sameLevels = _repository.Find(o => o.ParentId == module.ParentId && o.Id != module.Id);
foreach (var obj in sameLevels)
{
int objCascadeId = int.Parse(obj.CascadeId.Split('.').Last());
int objCascadeId = int.Parse(obj.CascadeId.TrimEnd('.').Split('.').Last());
if (currentCascadeId <= objCascadeId) currentCascadeId = objCascadeId + 1;
}
@@ -161,7 +161,7 @@ namespace OpenAuth.Domain.Service
var parentOrg = _repository.FindSingle(o => o.Id == module.ParentId);
if (parentOrg != null)
{
cascadeId = parentOrg.CascadeId + "." + currentCascadeId;
cascadeId = parentOrg.CascadeId + currentCascadeId +".";
module.ParentName = parentOrg.Name;
}
else
@@ -171,7 +171,7 @@ namespace OpenAuth.Domain.Service
}
else
{
cascadeId = "0." + currentCascadeId;
cascadeId = "0." + currentCascadeId +".";
module.ParentName = "根节点";
}

View File

@@ -21,14 +21,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
/// </summary>
public class FlowDesignController :BaseController
{
private WFSchemeService wfFlowInfoBLL;
private UserManagerApp userBLL;
public FlowDesignController()
{
wfFlowInfoBLL = AutofacExt.GetFromFac<WFSchemeService>();
userBLL = AutofacExt.GetFromFac<UserManagerApp>();
}
public WFSchemeService WfFlowInfoBll { get; set; }
#region
/// <summary>
@@ -100,8 +93,8 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetFormJson(Guid keyValue)
{
var schemeinfo = wfFlowInfoBLL.GetEntity(keyValue);
var schemecontent = wfFlowInfoBLL.GetSchemeEntity(schemeinfo.Id, schemeinfo.SchemeVersion);
var schemeinfo = WfFlowInfoBll.GetEntity(keyValue);
var schemecontent = WfFlowInfoBll.GetSchemeEntity(schemeinfo.Id, schemeinfo.SchemeVersion);
var JsonData = new
{
schemeinfo = schemeinfo,
@@ -118,7 +111,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetSchemeContentJson(Guid keyValue, string SchemeVersion)
{
var schemecontent = wfFlowInfoBLL.GetSchemeEntity(keyValue, SchemeVersion);
var schemecontent = WfFlowInfoBll.GetSchemeEntity(keyValue, SchemeVersion);
return Content(schemecontent.ToJson());
}
#endregion
@@ -132,7 +125,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpPost]
public string RemoveForm(Guid[] ids)
{
wfFlowInfoBLL.RemoveForm(ids);
WfFlowInfoBll.RemoveForm(ids);
return Result.ToJson();
}
/// <summary>
@@ -146,7 +139,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
{
WFSchemeInfo entyity = InfoEntity.ToObject<WFSchemeInfo>();
WFSchemeContent contententity = ContentEntity.ToObject<WFSchemeContent>();
wfFlowInfoBLL.SaveForm(keyValue, entyity, contententity);
WfFlowInfoBll.SaveForm(keyValue, entyity, contententity);
return Result.ToJson();
}
/// <summary>
@@ -159,13 +152,13 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
public ActionResult SubmitUpdateState(string keyValue, int State)
{
wfFlowInfoBLL.UpdateState(keyValue, State);
WfFlowInfoBll.UpdateState(keyValue, State);
return Content("操作成功。");
}
public string Load(int pageCurrent = 1, int pageSize = 30)
{
return JsonHelper.Instance.Serialize(wfFlowInfoBLL.Load(pageCurrent, pageSize));
return JsonHelper.Instance.Serialize(WfFlowInfoBll.Load(pageCurrent, pageSize));
}
#endregion

View File

@@ -14,12 +14,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
/// </summary>
public class FlowInstancesController : BaseController
{
private WFProcessInstanceService _app;
public FlowInstancesController()
{
_app = AutofacExt.GetFromFac<WFProcessInstanceService>();
}
public WFProcessInstanceService App { get; set; }
#region
@@ -115,7 +110,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
WFProcessInstance wfProcessInstanceEntity = wfProcessInstanceJson.ToObject<WFProcessInstance>();
wfProcessInstanceEntity.Id = Guid.Empty;
_app.CreateInstance(Guid.NewGuid(), wfSchemeInfoId, wfProcessInstanceEntity, frmData);
App.CreateInstance(Guid.NewGuid(), wfSchemeInfoId, wfProcessInstanceEntity, frmData);
return Result.ToJson();
}
@@ -129,7 +124,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpPost]
public string VerificationProcess(Guid processId, string verificationData)
{
_app.VerificationProcess(processId, verificationData);
App.VerificationProcess(processId, verificationData);
return Result.ToJson();
}
@@ -142,7 +137,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
{
foreach (var id in ids)
{
_app.DeleteProcess(id);
App.DeleteProcess(id);
}
return Result.ToJson();
}
@@ -166,7 +161,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetProcessSchemeJson(Guid keyValue)
{
var data = _app.GetProcessSchemeEntity(keyValue);
var data = App.GetProcessSchemeEntity(keyValue);
return Content(data.ToJson());
}
@@ -178,7 +173,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetProcessSchemeEntityByUserId(Guid keyValue)
{
var data = _app.GetProcessSchemeByUserId(keyValue);
var data = App.GetProcessSchemeByUserId(keyValue);
return Content(data.ToJson());
}
@@ -191,7 +186,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetProcessSchemeEntityByNodeId(Guid keyValue, string nodeId)
{
var data = _app.GetProcessSchemeEntityByNodeId(keyValue, nodeId);
var data = App.GetProcessSchemeEntityByNodeId(keyValue, nodeId);
return Content(data.ToJson());
}
@@ -203,8 +198,8 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetProcessInfoJson(Guid keyValue)
{
var processInstance = _app.GetProcessInstanceEntity(keyValue);
var processScheme = _app.GetProcessSchemeEntity(processInstance.ProcessSchemeId);
var processInstance = App.GetProcessInstanceEntity(keyValue);
var processScheme = App.GetProcessSchemeEntity(processInstance.ProcessSchemeId);
var JsonData = new
{
processInstance = processInstance,
@@ -221,13 +216,13 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetProcessInstanceJson(Guid keyValue)
{
var processInstance = _app.GetProcessInstanceEntity(keyValue);
var processInstance = App.GetProcessInstanceEntity(keyValue);
return Content(processInstance.ToJson());
}
public string Load(string type, int pageCurrent = 1, int pageSize = 30)
{
return JsonHelper.Instance.Serialize(_app.Load(AuthUtil.GetCurrentUser().User.Id.ToString(), type, pageCurrent, pageSize));
return JsonHelper.Instance.Serialize(App.Load(AuthUtil.GetCurrentUser().User.Id.ToString(), type, pageCurrent, pageSize));
}
#endregion ()

View File

@@ -13,12 +13,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
public class FormDesignController : BaseController
{
private readonly WFFormService _wfFrmMainBll;
public FormDesignController()
{
_wfFrmMainBll = AutofacExt.GetFromFac<WFFormService>();
}
public WFFormService WfFrmMainBll { get; set; }
#region
/// <summary>
@@ -55,7 +50,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
public string Load(int pageCurrent = 1, int pageSize = 30)
{
return JsonHelper.Instance.Serialize(_wfFrmMainBll.Load(pageCurrent, pageSize));
return JsonHelper.Instance.Serialize(WfFrmMainBll.Load(pageCurrent, pageSize));
}
/// <summary>
@@ -66,7 +61,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetTreeJson()
{
var data = _wfFrmMainBll.GetAllList();
var data = WfFrmMainBll.GetAllList();
var treeList = new List<TreeEntity>();
foreach (var item in data)
{
@@ -95,7 +90,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetFormJson(Guid keyValue)
{
var data = _wfFrmMainBll.GetForm(keyValue);
var data = WfFrmMainBll.GetForm(keyValue);
return Content(data.ToJson());
}
@@ -106,7 +101,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpGet]
public ActionResult GetAllListJson()
{
var data = _wfFrmMainBll.GetAllList();
var data = WfFrmMainBll.GetAllList();
return Content(data.ToJson());
}
#endregion
@@ -120,7 +115,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
[HttpPost]
public string RemoveForm(Guid[] ids)
{
_wfFrmMainBll.RemoveForm(ids);
WfFrmMainBll.RemoveForm(ids);
return Result.ToJson();
}
///// <summary>
@@ -137,7 +132,7 @@ namespace OpenAuth.Mvc.Areas.FlowManage.Controllers
var user = AuthUtil.GetCurrentUser();
userEntity.ModifyUserId = user.User.Account;
userEntity.ModifyUserName = user.User.Name;
_wfFrmMainBll.SaveForm(keyValue, userEntity);
WfFrmMainBll.SaveForm(keyValue, userEntity);
}
catch (Exception e)
{

View File

@@ -15,12 +15,12 @@
InitControl();
});
function initLoadPageData() {
var _FlowDesignObject = top.FlowSchemeBuider.FlowDesignObject;
lineobject = _FlowDesignObject.$lineData[top.FlowSchemeBuider.LineId];
lineobject.id = top.FlowSchemeBuider.LineId;
var _FlowDesignObject = parent.FlowDesignObject;
lineobject = _FlowDesignObject.$lineData[parent.LineId];
lineobject.id = parent.LineId;
fromnode = _FlowDesignObject.$nodeData[lineobject.from];
frmtype = top.FlowSchemeBuider.postData["FrmType"];
frmtype = parent.postData["FrmType"];
if (frmtype == 0) {
frmCotent = JSON.parse(top.FlowSchemeBuider.frmData["FrmContent"]);
}

View File

@@ -36,30 +36,31 @@ namespace OpenAuth.Mvc
builder.RegisterGeneric(typeof(BaseRepository<>)).As(typeof(IRepository<>));
builder.RegisterType(typeof (UnitWork)).As(typeof (IUnitWork));
//注册WebConfig中的配置
builder.RegisterModule(new ConfigurationSettingsReader("autofac"));
//注册app层
builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof (UserManagerApp)));
//注册领域服务
builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(AuthoriseService)))
.Where(u =>u.Namespace== "OpenAuth.Domain.Service");
.Where(u =>u.Namespace== "OpenAuth.Domain.Service"
|| u.Namespace == "OpenAuth.Domain.Interface");
// Register your MVC controllers.
builder.RegisterControllers(typeof(MvcApplication).Assembly);
//注册Repository
builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(UserRepository)))
.AsImplementedInterfaces();
// OPTIONAL: Register model binders that require DI.
// 注册controller使用属性注入
builder.RegisterControllers(Assembly.GetExecutingAssembly()).PropertiesAutowired();
builder.RegisterModelBinders(Assembly.GetExecutingAssembly());
builder.RegisterModelBinderProvider();
// OPTIONAL: Register web abstractions like HttpContextBase.
builder.RegisterModule<AutofacWebTypesModule>();
//builder.RegisterModule<AutofacWebTypesModule>();
// OPTIONAL: Enable property injection in view pages.
builder.RegisterSource(new ViewRegistrationSource());
// OPTIONAL: Enable property injection into action filters.
// 注册所有的Attribute
builder.RegisterFilterProvider();
// Set the dependency resolver to be Autofac.

View File

@@ -10,12 +10,7 @@ namespace OpenAuth.Mvc.Controllers
{
public class CategoryManagerController : BaseController
{
private CategoryManagerApp _app;
public CategoryManagerController()
{
_app = AutofacExt.GetFromFac<CategoryManagerApp>();
}
public CategoryManagerApp App { get; set; }
//
// GET: /UserManager/
@@ -30,12 +25,12 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string Load(Guid parentId, int page = 1, int rows = 30)
{
return JsonHelper.Instance.Serialize(_app.Load(parentId, page, rows));
return JsonHelper.Instance.Serialize(App.Load(parentId, page, rows));
}
public string LoadForTree()
{
return JsonHelper.Instance.Serialize(_app.LoadAll());
return JsonHelper.Instance.Serialize(App.LoadAll());
}
//添加或修改Category
@@ -44,7 +39,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.AddOrUpdate(model);
App.AddOrUpdate(model);
}
catch (Exception ex)
@@ -59,7 +54,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.Delete(ids);
App.Delete(ids);
}
catch (Exception e)
{

View File

@@ -12,13 +12,7 @@ namespace OpenAuth.Mvc.Controllers
{
public class HomeController : BaseController
{
private ModuleManagerApp _app;
public HomeController()
{
_app = AutofacExt.GetFromFac<ModuleManagerApp>();
}
public ActionResult Index()
{
ViewBag.NavBar = GetNavBar();

View File

@@ -24,12 +24,8 @@ namespace OpenAuth.Mvc.Controllers
{
public class ModuleElementManagerController : BaseController
{
private ModuleElementManagerApp _app;
public ModuleElementManagerApp App { get; set; }
public ModuleElementManagerController()
{
_app = AutofacExt.GetFromFac<ModuleElementManagerApp>();
}
public ActionResult Index(Guid id)
{
ViewBag.ModuleId = id;
@@ -37,14 +33,14 @@ namespace OpenAuth.Mvc.Controllers
}
public ActionResult Get(Guid moduleId)
{
return Json(_app.LoadByModuleId(moduleId), JsonRequestBehavior.AllowGet);
return Json(App.LoadByModuleId(moduleId), JsonRequestBehavior.AllowGet);
}
[HttpPost]
public string AddOrEditButton(ModuleElement button)
{
try
{
_app.AddOrUpdate(button);
App.AddOrUpdate(button);
}
catch (DbEntityValidationException e)
{
@@ -58,7 +54,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.Delete(ids);
App.Delete(ids);
}
catch (Exception e)
{
@@ -83,7 +79,7 @@ namespace OpenAuth.Mvc.Controllers
}
public string LoadWithAccess(Guid tId, Guid firstId, string key)
{
return JsonHelper.Instance.Serialize(_app.LoadWithAccess(key, firstId, tId));
return JsonHelper.Instance.Serialize(App.LoadWithAccess(key, firstId, tId));
}
}
}

View File

@@ -14,12 +14,7 @@ namespace OpenAuth.Mvc.Controllers
{
public class ModuleManagerController : BaseController
{
private ModuleManagerApp _app;
public ModuleManagerController()
{
_app = AutofacExt.GetFromFac<ModuleManagerApp>();
}
public ModuleManagerApp App { get; set; }
// GET: /ModuleManager/
[Authenticate]
@@ -34,7 +29,7 @@ namespace OpenAuth.Mvc.Controllers
ViewBag.ModuleType = key;
var moduleWithChildren = AuthUtil.GetCurrentUser().ModuleWithChildren;
var modules = key == "UserModule" ? _app.LoadForUser(firstId) : _app.LoadForRole(firstId);
var modules = key == "UserModule" ? App.LoadForUser(firstId) : App.LoadForRole(firstId);
CheckModule(moduleWithChildren, modules);
@@ -106,7 +101,7 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string Load(Guid orgId, int page = 1, int rows = 30)
{
return JsonHelper.Instance.Serialize(_app.Load(orgId, page, rows));
return JsonHelper.Instance.Serialize(App.Load(orgId, page, rows));
}
/// <summary>
@@ -116,7 +111,7 @@ namespace OpenAuth.Mvc.Controllers
/// <returns>System.String.</returns>
public string LoadForUser(Guid firstId)
{
var orgs = _app.LoadForUser(firstId);
var orgs = App.LoadForUser(firstId);
return JsonHelper.Instance.Serialize(orgs);
}
@@ -127,7 +122,7 @@ namespace OpenAuth.Mvc.Controllers
/// <returns>System.String.</returns>
public string LoadForRole(Guid firstId)
{
var orgs = _app.LoadForRole(firstId);
var orgs = App.LoadForRole(firstId);
return JsonHelper.Instance.Serialize(orgs);
}
@@ -145,7 +140,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.AddOrUpdate(model);
App.AddOrUpdate(model);
}
catch (Exception ex)
{
@@ -162,7 +157,7 @@ namespace OpenAuth.Mvc.Controllers
{
foreach (var obj in ids)
{
_app.Delete(obj);
App.Delete(obj);
}
}
catch (Exception e)

View File

@@ -10,12 +10,7 @@ namespace OpenAuth.Mvc.Controllers
{
public class OrgManagerController : BaseController
{
private OrgManagerApp _orgApp;
public OrgManagerController()
{
_orgApp = AutofacExt.GetFromFac<OrgManagerApp>();
}
public OrgManagerApp OrgApp { get; set; }
//
// GET: /OrgManager/
@@ -38,13 +33,13 @@ namespace OpenAuth.Mvc.Controllers
public string LoadForUser(Guid firstId)
{
var orgs = _orgApp.LoadForUser(firstId);
var orgs = OrgApp.LoadForUser(firstId);
return JsonHelper.Instance.Serialize(orgs);
}
public string LoadForRole(Guid firstId)
{
var orgs = _orgApp.LoadForRole(firstId);
var orgs = OrgApp.LoadForRole(firstId);
return JsonHelper.Instance.Serialize(orgs);
}
@@ -55,7 +50,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_orgApp.AddOrUpdate(org);
OrgApp.AddOrUpdate(org);
}
catch (Exception ex)
{
@@ -67,7 +62,7 @@ namespace OpenAuth.Mvc.Controllers
public string LoadChildren(Guid id)
{
return JsonHelper.Instance.Serialize(_orgApp.LoadAllChildren(id));
return JsonHelper.Instance.Serialize(OrgApp.LoadAllChildren(id));
}
/// <summary>
@@ -80,7 +75,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_orgApp.DelOrg(ids);
OrgApp.DelOrg(ids);
}
catch (Exception e)
{

View File

@@ -12,19 +12,14 @@ namespace OpenAuth.Mvc.Controllers
{
public class RelevanceManagerController : BaseController
{
private RevelanceManagerApp _app;
public RelevanceManagerController()
{
_app = AutofacExt.GetFromFac<RevelanceManagerApp>();
}
public RevelanceManagerApp App { get; set; }
[HttpPost]
public string Assign(string type, Guid firstId, Guid[] secIds)
{
try
{
_app.Assign(type, firstId, secIds);
App.Assign(type, firstId, secIds);
}
catch (Exception ex)
{
@@ -38,7 +33,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.UnAssign(type, firstId, secIds);
App.UnAssign(type, firstId, secIds);
}
catch (Exception ex)
{

View File

@@ -11,12 +11,7 @@ namespace OpenAuth.Mvc.Controllers
{
public class ResourceManagerController : BaseController
{
private ResourceManagerApp _app;
public ResourceManagerController()
{
_app = AutofacExt.GetFromFac<ResourceManagerApp>();
}
public ResourceManagerApp App { get; set; }
//
// GET: /UserManager/
@@ -32,7 +27,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.AddOrUpdate(model);
App.AddOrUpdate(model);
}
catch (Exception ex)
{
@@ -47,12 +42,12 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string Load(Guid categoryId, int page = 1, int rows = 30)
{
return JsonHelper.Instance.Serialize(_app.Load(AuthUtil.GetUserName(), categoryId, page, rows));
return JsonHelper.Instance.Serialize(App.Load(AuthUtil.GetUserName(), categoryId, page, rows));
}
public string LoadForTree()
{
var models = _app.LoadAll();
var models = App.LoadAll();
return JsonHelper.Instance.Serialize(models);
}
@@ -61,7 +56,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.Delete(ids);
App.Delete(ids);
}
catch (Exception e)
{
@@ -96,7 +91,7 @@ namespace OpenAuth.Mvc.Controllers
/// <returns>System.String.</returns>
public string LoadWithAccess(Guid cId, Guid firstId, string key)
{
return JsonHelper.Instance.Serialize(_app.LoadWithAccess(AuthUtil.GetUserName(),key,firstId, cId));
return JsonHelper.Instance.Serialize(App.LoadWithAccess(AuthUtil.GetUserName(),key,firstId, cId));
}
}
}

View File

@@ -10,12 +10,7 @@ namespace OpenAuth.Mvc.Controllers
{
public class RoleManagerController : BaseController
{
private RoleManagerApp _app;
public RoleManagerController()
{
_app = AutofacExt.GetFromFac<RoleManagerApp>();
}
public RoleManagerApp App { get; set; }
//
// GET: /RoleManager/
@@ -31,7 +26,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.AddOrUpdate(obj);
App.AddOrUpdate(obj);
}
catch (Exception ex)
{
@@ -46,7 +41,7 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string Load(Guid orgId, int pageCurrent = 1, int pageSize = 30)
{
return JsonHelper.Instance.Serialize(_app.Load(orgId, pageCurrent, pageSize));
return JsonHelper.Instance.Serialize(App.Load(orgId, pageCurrent, pageSize));
}
[System.Web.Mvc.HttpPost]
@@ -56,7 +51,7 @@ namespace OpenAuth.Mvc.Controllers
{
foreach (var obj in ids)
{
_app.Delete(obj);
App.Delete(obj);
}
}
catch (Exception e)
@@ -78,7 +73,7 @@ namespace OpenAuth.Mvc.Controllers
public string LoadForOrgAndUser(Guid orgId, Guid userId)
{
return JsonHelper.Instance.Serialize(_app.LoadForOrgAndUser(orgId, userId));
return JsonHelper.Instance.Serialize(App.LoadForOrgAndUser(orgId, userId));
}
#endregion

View File

@@ -14,12 +14,7 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public class StockManagerController : BaseController
{
private StockManagerApp _app;
public StockManagerController()
{
_app = AutofacExt.GetFromFac<StockManagerApp>();
}
public StockManagerApp App { get; set; }
//
// GET: /UserManager/
@@ -37,7 +32,7 @@ namespace OpenAuth.Mvc.Controllers
{
var newmodel = new Stock();
model.CopyTo(newmodel);
_app.AddOrUpdate(newmodel);
App.AddOrUpdate(newmodel);
}
catch (Exception ex)
{
@@ -52,14 +47,14 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string Load(Guid parentId, int page = 1, int rows = 30)
{
return JsonHelper.Instance.Serialize(_app.Load(AuthUtil.GetUserName(), parentId, page, rows));
return JsonHelper.Instance.Serialize(App.Load(AuthUtil.GetUserName(), parentId, page, rows));
}
public string Delete(Guid[] ids)
{
try
{
_app.Delete(ids);
App.Delete(ids);
}
catch (Exception e)
{

View File

@@ -13,12 +13,7 @@ namespace OpenAuth.Mvc.Controllers
{
public class UserManagerController : BaseController
{
private UserManagerApp _app;
public UserManagerController()
{
_app = AutofacExt.GetFromFac<UserManagerApp>();
}
public UserManagerApp App { get; set; }
//
// GET: /UserManager/
@@ -34,7 +29,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.AddOrUpdate(view);
App.AddOrUpdate(view);
}
catch (Exception ex)
@@ -50,7 +45,7 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string Load(Guid orgId, int page = 1, int rows = 30)
{
return JsonHelper.Instance.Serialize(_app.Load(orgId, page, rows));
return JsonHelper.Instance.Serialize(App.Load(orgId, page, rows));
}
[HttpPost]
@@ -58,7 +53,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
_app.Delete(ids);
App.Delete(ids);
}
catch (Exception e)
{
@@ -81,7 +76,7 @@ namespace OpenAuth.Mvc.Controllers
var treeList = new List<TreeEntity>();
string companyid = "";
string departmentid = "";
foreach (UserView item in _app.Load(Guid.Empty, 1, 10).rows)
foreach (UserView item in App.Load(Guid.Empty, 1, 10).rows)
{
TreeEntity tree = new TreeEntity();
@@ -107,7 +102,7 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string GetAccessedUsers()
{
IEnumerable<UserView> users = _app.Load(Guid.Empty, 1, 10).rows;
IEnumerable<UserView> users = App.Load(Guid.Empty, 1, 10).rows;
var result = new Dictionary<string , object>();
foreach (var user in users)
{

View File

@@ -9,8 +9,6 @@
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<section name="autofac" type="Autofac.Configuration.SectionHandler, Autofac.Configuration" />
</configSections>
<connectionStrings>
@@ -42,19 +40,6 @@
</root>
</log4net>
<autofac defaultAssembly=" OpenAuth.Repository">
<components>
<component type=" OpenAuth.Repository.UserRepository" service=" OpenAuth.Domain.Interface.IUserRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.OrgRepository" service="OpenAuth.Domain.Interface.IOrgRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.RoleRepository" service="OpenAuth.Domain.Interface.IRoleRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.ModuleRepository" service="OpenAuth.Domain.Interface.IModuleRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.RelevanceRepository" service="OpenAuth.Domain.Interface.IRelevanceRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.CategoryRepository" service="OpenAuth.Domain.Interface.ICategoryRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.ResourceRepository" service="OpenAuth.Domain.Interface.IResourceRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.StockRepository" service="OpenAuth.Domain.Interface.IStockRepository,OpenAuth.Domain" />
</components>
</autofac>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />

View File

@@ -79,8 +79,8 @@
<Compile Include="OrgRepository.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ModuleRepository.cs" />
<Compile Include="ResourceRepository.cs" />
<Compile Include="RoleRepository.cs" />
<Compile Include="ResourceRepository.cs" />
<Compile Include="CategoryRepository.cs" />
<Compile Include="StockRepository.cs" />
<Compile Include="UserRepository.cs" />

View File

@@ -1,57 +1,40 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenAuth.Domain;
using OpenAuth.Domain.Interface;
namespace OpenAuth.Repository
{
public class RoleRepository :BaseRepository<Role>, IRoleRepository
{
public IEnumerable<Role> LoadRoles(int pageindex, int pagesize)
{
return Context.Roles.OrderBy(u => u.Id).Skip((pageindex - 1) * pagesize).Take(pagesize);
}
public int GetRoleCntInOrgs(params Guid[] orgIds)
{
return LoadInOrgs(orgIds).Count();
}
public IEnumerable<Role> LoadInOrgs(int pageindex, int pagesize, params Guid[] orgIds)
{
return LoadInOrgs(orgIds).OrderBy(u => u.Id).Skip((pageindex - 1) * pagesize).Take(pagesize);
}
public void Delete(Guid id)
{
Delete(u =>u.Id == id);
}
public IEnumerable<Role> LoadInOrgs(params Guid[] orgId)
{
var roles = Context.Relevances.Where(u => u.Key == "RoleOrg"
&& orgId.Contains(u.SecondId)).Select(u => u.FirstId); //机构关联的角色
var result = from role in Context.Roles.Where(u =>roles.Contains(u.Id)) select role;
return result;
}
public IEnumerable<Role> LoadForUser(Guid userId)
{
if (userId == Guid.Empty)
return Find(null);
var userRoleIds =
Context.Relevances.Where(u => u.FirstId == userId && u.Key == "UserRole")
.Select(u => u.SecondId).ToList();
return Find(u => userRoleIds.Contains(u.Id));
}
}
}
using System;
using OpenAuth.Domain;
using OpenAuth.Domain.Interface;
using System.Collections.Generic;
using System.Linq;
namespace OpenAuth.Repository
{
public class ResourceRepository : BaseRepository<Resource>, IResourceRepository
{
public IEnumerable<Resource> LoadInOrgs(int pageindex, int pagesize, params Guid[] orgIds)
{
return LoadInOrgs(orgIds).OrderBy(u => u.Id).Skip((pageindex - 1) * pagesize).Take(pagesize);
}
public void Delete(Guid id)
{
Delete(u => u.Id == id);
}
public IEnumerable<Resource> LoadInOrgs(params Guid[] orgId)
{
bool isZero = orgId.Length == 1 && orgId[0] == Guid.Empty; //判断传进来的是否为0
var result = from resource in Context.Resources.Where(u =>isZero
|| u.CascadeId != null &&orgId.Contains(u.CategoryId.Value)) select resource;
return result;
}
public IEnumerable<Resource> LoadResources(int pageindex, int pagesize)
{
return Context.Resources.OrderBy(u => u.Id).Skip((pageindex - 1) * pagesize).Take(pagesize);
}
public int GetResourceCntInOrgs(params Guid[] orgIds)
{
return LoadInOrgs(orgIds).Count();
}
}
}

View File

@@ -1,40 +1,57 @@
using System;
using OpenAuth.Domain;
using OpenAuth.Domain.Interface;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenAuth.Domain;
using OpenAuth.Domain.Interface;
namespace OpenAuth.Repository
{
public class ResourceRepository : BaseRepository<Resource>, IResourceRepository
public class RoleRepository :BaseRepository<Role>, IRoleRepository
{
public IEnumerable<Resource> LoadInOrgs(int pageindex, int pagesize, params Guid[] orgIds)
public IEnumerable<Role> LoadRoles(int pageindex, int pagesize)
{
return Context.Roles.OrderBy(u => u.Id).Skip((pageindex - 1) * pagesize).Take(pagesize);
}
public int GetRoleCntInOrgs(params Guid[] orgIds)
{
return LoadInOrgs(orgIds).Count();
}
public IEnumerable<Role> LoadInOrgs(int pageindex, int pagesize, params Guid[] orgIds)
{
return LoadInOrgs(orgIds).OrderBy(u => u.Id).Skip((pageindex - 1) * pagesize).Take(pagesize);
}
public void Delete(Guid id)
{
Delete(u => u.Id == id);
Delete(u =>u.Id == id);
}
public IEnumerable<Resource> LoadInOrgs(params Guid[] orgId)
public IEnumerable<Role> LoadInOrgs(params Guid[] orgId)
{
bool isZero = orgId.Length == 1 && orgId[0] == Guid.Empty; //判断传进来的是否为0
var result = from resource in Context.Resources.Where(u =>isZero
|| u.CascadeId != null &&orgId.Contains(u.CategoryId.Value)) select resource;
var roles = Context.Relevances.Where(u => u.Key == "RoleOrg"
&& orgId.Contains(u.SecondId)).Select(u => u.FirstId); //机构关联的角色
var result = from role in Context.Roles.Where(u =>roles.Contains(u.Id)) select role;
return result;
}
public IEnumerable<Resource> LoadResources(int pageindex, int pagesize)
public IEnumerable<Role> LoadForUser(Guid userId)
{
return Context.Resources.OrderBy(u => u.Id).Skip((pageindex - 1) * pagesize).Take(pagesize);
}
public int GetResourceCntInOrgs(params Guid[] orgIds)
{
return LoadInOrgs(orgIds).Count();
if (userId == Guid.Empty)
return Find(null);
var userRoleIds =
Context.Relevances.Where(u => u.FirstId == userId && u.Key == "UserRole")
.Select(u => u.SecondId).ToList();
return Find(u => userRoleIds.Contains(u.Id));
}
}
}
}

View File

@@ -0,0 +1,253 @@
using System.Linq;
using System.Web.Http;
using WebActivatorEx;
using OpenAuth.WebApi;
using Swashbuckle.Application;
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
namespace OpenAuth.WebApi
{
public class SwaggerConfig
{
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
// By default, the service root url is inferred from the request used to access the docs.
// However, there may be situations (e.g. proxy and load-balanced environments) where this does not
// resolve correctly. You can workaround this by providing your own code to determine the root URL.
//
//c.RootUrl(req => GetRootUrlFromAppConfig());
// If schemes are not explicitly provided in a Swagger 2.0 document, then the scheme used to access
// the docs is taken as the default. If your API supports multiple schemes and you want to be explicit
// about them, you can use the "Schemes" option as shown below.
//
//c.Schemes(new[] { "http", "https" });
// Use "SingleApiVersion" to describe a single version API. Swagger 2.0 includes an "Info" object to
// hold additional metadata for an API. Version and title are required but you can also provide
// additional fields by chaining methods off SingleApiVersion.
//
c.SingleApiVersion("v1", "OpenAuth.WebApi");
// If your API has multiple versions, use "MultipleApiVersions" instead of "SingleApiVersion".
// In this case, you must provide a lambda that tells Swashbuckle which actions should be
// included in the docs for a given API version. Like "SingleApiVersion", each call to "Version"
// returns an "Info" builder so you can provide additional metadata per API version.
//
//c.MultipleApiVersions(
// (apiDesc, targetApiVersion) => ResolveVersionSupportByRouteConstraint(apiDesc, targetApiVersion),
// (vc) =>
// {
// vc.Version("v2", "Swashbuckle Dummy API V2");
// vc.Version("v1", "Swashbuckle Dummy API V1");
// });
// You can use "BasicAuth", "ApiKey" or "OAuth2" options to describe security schemes for the API.
// See https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md for more details.
// NOTE: These only define the schemes and need to be coupled with a corresponding "security" property
// at the document or operation level to indicate which schemes are required for an operation. To do this,
// you'll need to implement a custom IDocumentFilter and/or IOperationFilter to set these properties
// according to your specific authorization implementation
//
//c.BasicAuth("basic")
// .Description("Basic HTTP Authentication");
//
// NOTE: You must also configure 'EnableApiKeySupport' below in the SwaggerUI section
//c.ApiKey("apiKey")
// .Description("API Key Authentication")
// .Name("apiKey")
// .In("header");
//
//c.OAuth2("oauth2")
// .Description("OAuth2 Implicit Grant")
// .Flow("implicit")
// .AuthorizationUrl("http://petstore.swagger.wordnik.com/api/oauth/dialog")
// //.TokenUrl("https://tempuri.org/token")
// .Scopes(scopes =>
// {
// scopes.Add("read", "Read access to protected resources");
// scopes.Add("write", "Write access to protected resources");
// });
// Set this flag to omit descriptions for any actions decorated with the Obsolete attribute
//c.IgnoreObsoleteActions();
// Each operation be assigned one or more tags which are then used by consumers for various reasons.
// For example, the swagger-ui groups operations according to the first tag of each operation.
// By default, this will be controller name but you can use the "GroupActionsBy" option to
// override with any value.
//
//c.GroupActionsBy(apiDesc => apiDesc.HttpMethod.ToString());
// You can also specify a custom sort order for groups (as defined by "GroupActionsBy") to dictate
// the order in which operations are listed. For example, if the default grouping is in place
// (controller name) and you specify a descending alphabetic sort order, then actions from a
// ProductsController will be listed before those from a CustomersController. This is typically
// used to customize the order of groupings in the swagger-ui.
//
//c.OrderActionGroupsBy(new DescendingAlphabeticComparer());
// If you annotate Controllers and API Types with
// Xml comments (http://msdn.microsoft.com/en-us/library/b2s063f7(v=vs.110).aspx), you can incorporate
// those comments into the generated docs and UI. You can enable this by providing the path to one or
// more Xml comment files.
//
//c.IncludeXmlComments(GetXmlCommentsPath());
//<2F><><EFBFBD>ýӿ<C3BD><D3BF><EFBFBD><EFBFBD><EFBFBD>xml·<6C><C2B7><EFBFBD><EFBFBD>ַ
c.IncludeXmlComments(string.Format("{0}/bin/OpenAuth.WebApi.XML", System.AppDomain.CurrentDomain.BaseDirectory));
// Swashbuckle makes a best attempt at generating Swagger compliant JSON schemas for the various types
// exposed in your API. However, there may be occasions when more control of the output is needed.
// This is supported through the "MapType" and "SchemaFilter" options:
//
// Use the "MapType" option to override the Schema generation for a specific type.
// It should be noted that the resulting Schema will be placed "inline" for any applicable Operations.
// While Swagger 2.0 supports inline definitions for "all" Schema types, the swagger-ui tool does not.
// It expects "complex" Schemas to be defined separately and referenced. For this reason, you should only
// use the "MapType" option when the resulting Schema is a primitive or array type. If you need to alter a
// complex Schema, use a Schema filter.
//
//c.MapType<ProductType>(() => new Schema { type = "integer", format = "int32" });
// If you want to post-modify "complex" Schemas once they've been generated, across the board or for a
// specific type, you can wire up one or more Schema filters.
//
//c.SchemaFilter<ApplySchemaVendorExtensions>();
// In a Swagger 2.0 document, complex types are typically declared globally and referenced by unique
// Schema Id. By default, Swashbuckle does NOT use the full type name in Schema Ids. In most cases, this
// works well because it prevents the "implementation detail" of type namespaces from leaking into your
// Swagger docs and UI. However, if you have multiple types in your API with the same class name, you'll
// need to opt out of this behavior to avoid Schema Id conflicts.
//
//c.UseFullTypeNameInSchemaIds();
// Alternatively, you can provide your own custom strategy for inferring SchemaId's for
// describing "complex" types in your API.
//
//c.SchemaId(t => t.FullName.Contains('`') ? t.FullName.Substring(0, t.FullName.IndexOf('`')) : t.FullName);
// Set this flag to omit schema property descriptions for any type properties decorated with the
// Obsolete attribute
//c.IgnoreObsoleteProperties();
// In accordance with the built in JsonSerializer, Swashbuckle will, by default, describe enums as integers.
// You can change the serializer behavior by configuring the StringToEnumConverter globally or for a given
// enum type. Swashbuckle will honor this change out-of-the-box. However, if you use a different
// approach to serialize enums as strings, you can also force Swashbuckle to describe them as strings.
//
//c.DescribeAllEnumsAsStrings();
// Similar to Schema filters, Swashbuckle also supports Operation and Document filters:
//
// Post-modify Operation descriptions once they've been generated by wiring up one or more
// Operation filters.
//
//c.OperationFilter<AddDefaultResponse>();
//
// If you've defined an OAuth2 flow as described above, you could use a custom filter
// to inspect some attribute on each action and infer which (if any) OAuth2 scopes are required
// to execute the operation
//
//c.OperationFilter<AssignOAuth2SecurityRequirements>();
// Post-modify the entire Swagger document by wiring up one or more Document filters.
// This gives full control to modify the final SwaggerDocument. You should have a good understanding of
// the Swagger 2.0 spec. - https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md
// before using this option.
//
//c.DocumentFilter<ApplyDocumentVendorExtensions>();
// In contrast to WebApi, Swagger 2.0 does not include the query string component when mapping a URL
// to an action. As a result, Swashbuckle will raise an exception if it encounters multiple actions
// with the same path (sans query string) and HTTP method. You can workaround this by providing a
// custom strategy to pick a winner or merge the descriptions for the purposes of the Swagger docs
//
//c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
// Wrap the default SwaggerGenerator with additional behavior (e.g. caching) or provide an
// alternative implementation for ISwaggerProvider with the CustomProvider option.
//
//c.CustomProvider((defaultProvider) => new CachingSwaggerProvider(defaultProvider));
//
c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
})
.EnableSwaggerUi(c =>
{
// Use the "InjectStylesheet" option to enrich the UI with one or more additional CSS stylesheets.
// The file must be included in your project as an "Embedded Resource", and then the resource's
// "Logical Name" is passed to the method as shown below.
//
//c.InjectStylesheet(containingAssembly, "Swashbuckle.Dummy.SwaggerExtensions.testStyles1.css");
// Use the "InjectJavaScript" option to invoke one or more custom JavaScripts after the swagger-ui
// has loaded. The file must be included in your project as an "Embedded Resource", and then the resource's
// "Logical Name" is passed to the method as shown above.
//
//c.InjectJavaScript(thisAssembly, "Swashbuckle.Dummy.SwaggerExtensions.testScript1.js");
// The swagger-ui renders boolean data types as a dropdown. By default, it provides "true" and "false"
// strings as the possible choices. You can use this option to change these to something else,
// for example 0 and 1.
//
//c.BooleanValues(new[] { "0", "1" });
// By default, swagger-ui will validate specs against swagger.io's online validator and display the result
// in a badge at the bottom of the page. Use these options to set a different validator URL or to disable the
// feature entirely.
//c.SetValidatorUrl("http://localhost/validator");
//c.DisableValidator();
// Use this option to control how the Operation listing is displayed.
// It can be set to "None" (default), "List" (shows operations for each resource),
// or "Full" (fully expanded: shows operations and their details).
//
//c.DocExpansion(DocExpansion.List);
// Specify which HTTP operations will have the 'Try it out!' option. An empty paramter list disables
// it for all operations.
//
//c.SupportedSubmitMethods("GET", "HEAD");
// Use the CustomAsset option to provide your own version of assets used in the swagger-ui.
// It's typically used to instruct Swashbuckle to return your version instead of the default
// when a request is made for "index.html". As with all custom content, the file must be included
// in your project as an "Embedded Resource", and then the resource's "Logical Name" is passed to
// the method as shown below.
//
//c.CustomAsset("index", containingAssembly, "YourWebApiProject.SwaggerExtensions.index.html");
// If your API has multiple versions and you've applied the MultipleApiVersions setting
// as described above, you can also enable a select box in the swagger-ui, that displays
// a discovery URL for each version. This provides a convenient way for users to browse documentation
// for different API versions.
//
//c.EnableDiscoveryUrlSelector();
// If your API supports the OAuth2 Implicit flow, and you've described it correctly, according to
// the Swagger 2.0 specification, you can enable UI support as shown below.
//
//c.EnableOAuth2Support(
// clientId: "test-client-id",
// clientSecret: null,
// realm: "test-realm",
// appName: "Swagger UI"
// //additionalQueryStringParams: new Dictionary<string, string>() { { "foo", "bar" } }
//);
// If your API supports ApiKey, you can override the default values.
// "apiKeyIn" can either be "query" or "header"
//
//c.EnableApiKeySupport("apiKey", "header");
});
}
}
}

View File

@@ -10,7 +10,7 @@
// ***********************************************************************
using System;
using System.Web.Mvc;
using System.Web.Http;
using Infrastructure;
using Infrastructure.Cache;
using OpenAuth.App;
@@ -23,7 +23,7 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers
/// <para>其他站点通过后台Post来认证</para>
/// <para>或使用静态类OpenAuth.App.SSO.AuthUtil访问</para>
/// </summary>
public class CheckController : Controller
public class CheckController : ApiController
{
private AuthorizeApp _app;
private ObjCacheProvider<UserAuthSession> _objCacheProvider = new ObjCacheProvider<UserAuthSession>();
@@ -64,13 +64,13 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers
return string.Empty;
}
[HttpPost]
[System.Web.Mvc.HttpPost]
public string Login(PassportLoginRequest request)
{
return JsonHelper.Instance.Serialize(SSOAuthUtil.Parse(request));
}
[HttpPost]
[System.Web.Mvc.HttpPost]
public bool Logout(string token, string requestid)
{
try

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace OpenAuth.WebApi
{
public class HomeController :Controller
{
public ActionResult Index()
{
return Redirect("/Swagger/ui/index");
}
}
}

View File

@@ -1,258 +1,277 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{99EE6163-ECF6-47BF-ADCD-B837188ABBF7}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OpenAuth.WebApi</RootNamespace>
<AssemblyName>OpenAuth.WebApi</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Autofac, Version=3.5.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.3.5.2\lib\net40\Autofac.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Autofac.Configuration, Version=3.3.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.Configuration.3.3.0\lib\net40\Autofac.Configuration.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Autofac.Integration.Mvc, Version=3.3.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.Mvc5.3.3.4\lib\net45\Autofac.Integration.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="MySql.Data, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.6.9.8\lib\net45\MySql.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MySql.Data.Entity.EF6, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.Entity.6.9.8\lib\net45\MySql.Data.Entity.EF6.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Abstractions" />
<Reference Include="System.Web.Routing" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http">
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest">
</Reference>
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Optimization">
<HintPath>..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="WebGrease">
<Private>True</Private>
<HintPath>..\packages\WebGrease.1.5.2\lib\WebGrease.dll</HintPath>
</Reference>
<Reference Include="Antlr3.Runtime">
<Private>True</Private>
<HintPath>..\packages\Antlr.3.4.1.9004\lib\Antlr3.Runtime.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />
<Folder Include="Areas\SSO\Models\Services\" />
</ItemGroup>
<ItemGroup>
<Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="Areas\SSO\Controllers\LoginController.cs" />
<Compile Include="Areas\SSO\Controllers\CheckController.cs" />
<Compile Include="Areas\SSO\SSOAreaRegistration.cs" />
<Compile Include="AutofacExt.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Areas\SSO\Content\bootstrap.min.css" />
<Content Include="Areas\SSO\Content\images\logo.png" />
<Content Include="favicon.ico" />
<Content Include="Global.asax" />
<Content Include="Areas\SSO\Scripts\bootstrap.js" />
<Content Include="Areas\SSO\Scripts\bootstrap.min.js" />
<Content Include="Areas\SSO\Views\web.config" />
<Content Include="Areas\SSO\Views\Login\Index.cshtml" />
<None Include="Areas\SSO\Scripts\jquery-1.10.2.intellisense.js" />
<Content Include="Areas\SSO\Scripts\jquery-1.10.2.js" />
<Content Include="Areas\SSO\Scripts\jquery-1.10.2.min.js" />
<Content Include="Areas\SSO\Scripts\modernizr-2.6.2.js" />
<Content Include="Areas\SSO\Scripts\respond.js" />
<Content Include="Areas\SSO\Scripts\respond.min.js" />
<Content Include="Web.config" />
<Content Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Areas\SSO\Content\Site.css" />
<Content Include="Areas\SSO\Scripts\_references.js" />
<None Include="Properties\PublishProfiles\webapi.pubxml" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj">
<Project>{5feaec9a-4f1e-4ee7-b377-9db1b0870dac}</Project>
<Name>Infrastructure</Name>
</ProjectReference>
<ProjectReference Include="..\OpenAuth.App\OpenAuth.App.csproj">
<Project>{0bbf2d65-fffd-4272-b138-8ea4fb6fec48}</Project>
<Name>OpenAuth.App</Name>
</ProjectReference>
<ProjectReference Include="..\OpenAuth.Domain\OpenAuth.Domain.csproj">
<Project>{6108da8e-92a1-4abe-b9f5-26d64d55ca2c}</Project>
<Name>OpenAuth.Domain</Name>
</ProjectReference>
<ProjectReference Include="..\OpenAuth.Repository\OpenAuth.Repository.csproj">
<Project>{e8df8dea-e2cf-4bdb-8f4f-3f8205b0e03a}</Project>
<Name>OpenAuth.Repository</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="packages.config" />
<Content Include="Areas\SSO\Scripts\jquery-1.10.2.min.map" />
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>52789</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:52789/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>此项目引用这台计算机上缺少的 NuGet 程序包。使用 NuGet 程序包还原可下载这些程序包。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
</Target>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{99EE6163-ECF6-47BF-ADCD-B837188ABBF7}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OpenAuth.WebApi</RootNamespace>
<AssemblyName>OpenAuth.WebApi</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\OpenAuth.WebApi.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Autofac, Version=3.5.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.3.5.2\lib\net40\Autofac.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Autofac.Configuration, Version=3.3.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.Configuration.3.3.0\lib\net40\Autofac.Configuration.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Autofac.Integration.Mvc, Version=3.3.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.Mvc5.3.3.4\lib\net45\Autofac.Integration.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="MySql.Data, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.6.9.8\lib\net45\MySql.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MySql.Data.Entity.EF6, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.Entity.6.9.8\lib\net45\MySql.Data.Entity.EF6.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Swashbuckle.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cd1bb07a5ac7c7bc, processorArchitecture=MSIL">
<HintPath>..\packages\Swashbuckle.Core.5.5.3\lib\net40\Swashbuckle.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Abstractions" />
<Reference Include="System.Web.Routing" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http">
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest">
</Reference>
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Optimization">
<HintPath>..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="WebActivator, Version=1.5.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\WebActivator.1.5.1\lib\net40\WebActivator.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WebActivatorEx, Version=2.0.0.0, Culture=neutral, PublicKeyToken=7b26dc2a43f6a0d4, processorArchitecture=MSIL">
<HintPath>..\packages\WebActivatorEx.2.0\lib\net40\WebActivatorEx.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WebGrease">
<Private>True</Private>
<HintPath>..\packages\WebGrease.1.5.2\lib\WebGrease.dll</HintPath>
</Reference>
<Reference Include="Antlr3.Runtime">
<Private>True</Private>
<HintPath>..\packages\Antlr.3.4.1.9004\lib\Antlr3.Runtime.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />
<Folder Include="Areas\SSO\Models\Services\" />
</ItemGroup>
<ItemGroup>
<Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="App_Start\SwaggerConfig.cs" />
<Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="Areas\SSO\Controllers\LoginController.cs" />
<Compile Include="Areas\SSO\Controllers\CheckController.cs" />
<Compile Include="Areas\SSO\SSOAreaRegistration.cs" />
<Compile Include="AutofacExt.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="HomeController.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Areas\SSO\Content\bootstrap.min.css" />
<Content Include="Areas\SSO\Content\images\logo.png" />
<Content Include="favicon.ico" />
<Content Include="Global.asax" />
<Content Include="Areas\SSO\Scripts\bootstrap.js" />
<Content Include="Areas\SSO\Scripts\bootstrap.min.js" />
<Content Include="Areas\SSO\Views\web.config" />
<Content Include="Areas\SSO\Views\Login\Index.cshtml" />
<None Include="Areas\SSO\Scripts\jquery-1.10.2.intellisense.js" />
<Content Include="Areas\SSO\Scripts\jquery-1.10.2.js" />
<Content Include="Areas\SSO\Scripts\jquery-1.10.2.min.js" />
<Content Include="Areas\SSO\Scripts\modernizr-2.6.2.js" />
<Content Include="Areas\SSO\Scripts\respond.js" />
<Content Include="Areas\SSO\Scripts\respond.min.js" />
<Content Include="Web.config">
<SubType>Designer</SubType>
</Content>
<Content Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Areas\SSO\Content\Site.css" />
<Content Include="Areas\SSO\Scripts\_references.js" />
<None Include="Properties\PublishProfiles\webapi.pubxml" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj">
<Project>{5feaec9a-4f1e-4ee7-b377-9db1b0870dac}</Project>
<Name>Infrastructure</Name>
</ProjectReference>
<ProjectReference Include="..\OpenAuth.App\OpenAuth.App.csproj">
<Project>{0bbf2d65-fffd-4272-b138-8ea4fb6fec48}</Project>
<Name>OpenAuth.App</Name>
</ProjectReference>
<ProjectReference Include="..\OpenAuth.Domain\OpenAuth.Domain.csproj">
<Project>{6108da8e-92a1-4abe-b9f5-26d64d55ca2c}</Project>
<Name>OpenAuth.Domain</Name>
</ProjectReference>
<ProjectReference Include="..\OpenAuth.Repository\OpenAuth.Repository.csproj">
<Project>{e8df8dea-e2cf-4bdb-8f4f-3f8205b0e03a}</Project>
<Name>OpenAuth.Repository</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="packages.config">
<SubType>Designer</SubType>
</Content>
<Content Include="Areas\SSO\Scripts\jquery-1.10.2.min.map" />
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>52789</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:52789/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>此项目引用这台计算机上缺少的 NuGet 程序包。使用 NuGet 程序包还原可下载这些程序包。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target> -->
</Target> -->
</Project>

View File

@@ -1,116 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=301879
-->
<configuration>
<configSections>
<section name="autofac" type="Autofac.Configuration.SectionHandler, Autofac.Configuration" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<sectionGroup name="enyim.com">
<section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching"/>
</sectionGroup>
</configSections>
<connectionStrings>
<add name="OpenAuthDBContext" connectionString="Data Source=.;Initial Catalog=OpenAuthDB;Persist Security Info=True;User ID=sa;Password=000000;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
<!--<add name="OpenAuthDBContext" connectionString="server=127.0.0.1;user id=root;persistsecurityinfo=True;database=openauth;password=123456" providerName="MySql.Data.MySqlClient" />-->
</connectionStrings>
<enyim.com>
<memcached protocol="Binary">
<servers>
<add address="127.0.0.1" port="11211"/>
</servers>
</memcached>
</enyim.com>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<!--登录超时时间-->
<add key="AUTH_COOKIE_TIMEOUT_IN_MINUTES" value="5" />
</appSettings>
<autofac defaultAssembly=" OpenAuth.Repository">
<components>
<component type=" OpenAuth.Repository.UserRepository" service=" OpenAuth.Domain.Interface.IUserRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.OrgRepository" service="OpenAuth.Domain.Interface.IOrgRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.RoleRepository" service="OpenAuth.Domain.Interface.IRoleRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.ModuleRepository" service="OpenAuth.Domain.Interface.IModuleRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.RelevanceRepository" service="OpenAuth.Domain.Interface.IRelevanceRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.CategoryRepository" service="OpenAuth.Domain.Interface.ICategoryRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.ResourceRepository" service="OpenAuth.Domain.Interface.IResourceRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.StockRepository" service="OpenAuth.Domain.Interface.IStockRepository,OpenAuth.Domain" />
</components>
</autofac>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider></providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=301879
-->
<configuration>
<configSections>
<section name="autofac" type="Autofac.Configuration.SectionHandler, Autofac.Configuration" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<sectionGroup name="enyim.com">
<section name="memcached" type="Enyim.Caching.Configuration.MemcachedClientSection, Enyim.Caching" />
</sectionGroup>
</configSections>
<connectionStrings>
<add name="OpenAuthDBContext" connectionString="Data Source=.;Initial Catalog=OpenAuthDB;Persist Security Info=True;User ID=sa;Password=000000;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
<!--<add name="OpenAuthDBContext" connectionString="server=127.0.0.1;user id=root;persistsecurityinfo=True;database=openauth;password=123456" providerName="MySql.Data.MySqlClient" />-->
</connectionStrings>
<enyim.com>
<memcached protocol="Binary">
<servers>
<add address="127.0.0.1" port="11211" />
</servers>
</memcached>
</enyim.com>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<!--登录超时时间-->
<add key="AUTH_COOKIE_TIMEOUT_IN_MINUTES" value="5" />
</appSettings>
<autofac defaultAssembly=" OpenAuth.Repository">
<components>
<component type=" OpenAuth.Repository.UserRepository" service=" OpenAuth.Domain.Interface.IUserRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.OrgRepository" service="OpenAuth.Domain.Interface.IOrgRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.RoleRepository" service="OpenAuth.Domain.Interface.IRoleRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.ModuleRepository" service="OpenAuth.Domain.Interface.IModuleRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.RelevanceRepository" service="OpenAuth.Domain.Interface.IRelevanceRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.CategoryRepository" service="OpenAuth.Domain.Interface.ICategoryRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.ResourceRepository" service="OpenAuth.Domain.Interface.IResourceRepository,OpenAuth.Domain" />
<component type=" OpenAuth.Repository.StockRepository" service="OpenAuth.Domain.Interface.IStockRepository,OpenAuth.Domain" />
</components>
</autofac>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider></providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data></configuration>

View File

@@ -1,35 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.4.1.9004" targetFramework="net45" />
<package id="Autofac" version="3.5.2" targetFramework="net45" />
<package id="Autofac.Configuration" version="3.3.0" targetFramework="net45" />
<package id="Autofac.Mvc5" version="3.3.4" targetFramework="net45" />
<package id="bootstrap" version="3.0.0" targetFramework="net45" />
<package id="EntityFramework" version="6.1.3" targetFramework="net45" />
<package id="jQuery" version="1.10.2" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc.zh-Hans" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor.zh-Hans" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization.zh-Hans" version="1.1.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client.zh-Hans" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core.zh-Hans" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.HelpPage" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost.zh-Hans" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages.zh-Hans" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net45" />
<package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net45" developmentDependency="true" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Modernizr" version="2.6.2" targetFramework="net45" />
<package id="MySql.Data" version="6.9.8" targetFramework="net45" />
<package id="MySql.Data.Entity" version="6.9.8" targetFramework="net45" />
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />
<package id="Respond" version="1.2.0" targetFramework="net45" />
<package id="WebGrease" version="1.5.2" targetFramework="net45" />
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.4.1.9004" targetFramework="net45" />
<package id="Autofac" version="3.5.2" targetFramework="net45" />
<package id="Autofac.Configuration" version="3.3.0" targetFramework="net45" />
<package id="Autofac.Mvc5" version="3.3.4" targetFramework="net45" />
<package id="bootstrap" version="3.0.0" targetFramework="net45" />
<package id="EntityFramework" version="6.1.3" targetFramework="net45" />
<package id="jQuery" version="1.10.2" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc.zh-Hans" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor.zh-Hans" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization.zh-Hans" version="1.1.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client.zh-Hans" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core.zh-Hans" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.HelpPage" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost.zh-Hans" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages.zh-Hans" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net45" />
<package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net45" developmentDependency="true" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Modernizr" version="2.6.2" targetFramework="net45" />
<package id="MySql.Data" version="6.9.8" targetFramework="net45" />
<package id="MySql.Data.Entity" version="6.9.8" targetFramework="net45" />
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />
<package id="Respond" version="1.2.0" targetFramework="net45" />
<package id="Swagger.Net.UI" version="1.1.0" targetFramework="net45" />
<package id="Swashbuckle" version="5.5.3" targetFramework="net45" />
<package id="Swashbuckle.Core" version="5.5.3" targetFramework="net45" />
<package id="WebActivator" version="1.5.1" targetFramework="net45" />
<package id="WebActivatorEx" version="2.0" targetFramework="net45" />
<package id="WebGrease" version="1.5.2" targetFramework="net45" />
</packages>

Binary file not shown.