需要帮助了解 ASP .Net MVC 用户身份验证/授权
Posted
技术标签:
【中文标题】需要帮助了解 ASP .Net MVC 用户身份验证/授权【英文标题】:Need help understanding ASP .Net MVC user authentication/authorization 【发布时间】:2013-01-24 08:21:49 【问题描述】:我一直在兜圈子试图正确理解这一点。
我有一个正在处理的 ASP .Net MVC 项目,需要实现对外部系统进行授权和身份验证的用户登录(通过 Web 服务)。
在我需要的上下文中,我似乎无法理解MembershipProvider
和AuthorizeAttribute
。
我需要使用哪个(我相信两者兼而有之)以及我需要在哪里自定义以提供针对外部系统的身份验证。
除了默认的 ASP .Net 用户主体之外,我还需要另外一件事,即外部 Web 服务将在成功登录后返回一个会话 ID,该会话 ID 将用于对外部服务的后续请求。
有人能指出这种设置的一些有用示例的方向吗?
【问题讨论】:
【参考方案1】:MembershipProvider 用于提供可以登录系统的用户。 RoleProvider 用于告诉用户具有哪些角色。它们在身份验证过程中使用。即识别用户。你可以read about membership vs roles
另一方面,[Authorize]
属性在授权期间使用。即检查是否允许用户做某事。
【讨论】:
所以我需要同时实现这两个。MembershipProvider
需要覆盖ValidateUser()
和AuthorizeAttribute
需要覆盖AuthorizeCore()
?我在哪里添加额外的 SessionId?
除了使用 Authorize 之外,您无需对它进行任何操作。它使用您向会员提供者提供的用户
谢谢,这真的很有帮助。对于其他实施类似事情的人,我还建议查看***.com/questions/1064271/…以上是关于需要帮助了解 ASP .Net MVC 用户身份验证/授权的主要内容,如果未能解决你的问题,请参考以下文章
将特定域的 ASP.NET 模拟用户添加到 windows 身份验证
如何在asp.net mvc 5身份中的授权属性中使用动态角色