如何向MVC应用程序公开内置安全性和用户管理?

Dry*_*ker 9 vb.net security asp.net-mvc account-management

我在IIS6上建立了一个MVC网站.我使用内置的ASP.NET Security而不使用Membership,就像在模板解决方案中实现它一样.很容易保护控制器或操作,但现在我需要将用户管理公开给登录到站点的管理员.我知道内置的ASP控件不是"最佳实践",而且是一种可以开始工作的狗.那么通过ASP.NET MVC应用程序提供用户管理的最佳实践是什么?

我考虑使用实体框架并将其连接到无数的存储过程.但这似乎很尴尬.我看到AccountMembershipService和FormsAuthenticationService的选项.这就是现有项目帐户控制器使用的内容.但是,我也不喜欢.

我不禁想到这应该已经从项目模板中出现了.这是任何网站的基本部分,你获得了15%,为什么不给其他人?

Dry*_*ker 0

我现在让用户身份验证以某种理智的方式工作。需要克服的最大障碍是使用会员资格课程是可以的,即使我没有使用会员资格的个人资料方面。获取用户名并执行 Membership.GetUser(UserName) 很容易。然后你可以做很多事情,比如解锁、批准/拒绝、更改密码和更改密码问题/答案……所有我需要的基础知识。

\n\n

以下是基础知识:

\n\n
'get current logged in user\nDim currentUser As MembershipUser = Membership.GetUser()\n\n'get current logged in user name\nDim userName = currentUser.UserName\n\n'get current user email\nDim userEmail = currentUser.Email\n\n'get a user to edit\nDim editingUser = Membership.GetUser(UserName)\n\n'set the user email\neditingUser.Email = newEmail\nMembership.UpdateUser(editingUser)\n\n\xe2\x80\x98unlock user\neditingUser.UnlockUser() \n\n\xe2\x80\x98disapprove user\neditingUser.IsApproved = False\nMembership.UpdateUser(editingUser) \n\n\xe2\x80\x98approve user\neditingUser.IsApproved = True\nMembership.UpdateUser(editingUser)\n\n\xe2\x80\x98change pw\neditingUser.ChangePassword(oldPw, newPw)\n
Run Code Online (Sandbox Code Playgroud)\n\n

这就是全部了

\n