我正在启动一个新的应用程序,我正在尝试使用asp.net MVC 4.网络基础架构的设置方式意味着MVC应用程序无法直接访问数据库。相反,我将访问WCF Web服务以获取我的所有数据。这意味着我的用户名/用户详细信息列表可通过WCF Web服务访问。我将使用RSync将数据推送到我的站点,所以我想利用内置的身份验证,因为RSync有命令检查会话是否经过身份验证:
if (Context.User.Identity.IsAuthenticated)
所以我的主要问题是如何使用webserive而不是数据库设置身份验证信息?我注意到模板使用:
WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)
但这是因为它使用以下代码链接到数据库:
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
所以我不认为我使用这种方法,除非我可以覆盖WebSecurity.login方法?所有其他的网络安全方法?
我不认为这是正确的方法。相反,我认为我需要编写自己的安全类,并让Users模型具有一个名为Login(用户名,密码)的静态方法,该方法返回一个用户对象。但后来不知何故我想设置mvc(http会话)用户登录。所以当我使用Authorize属性时它会起作用。如何设置http会话用户进行身份验证?