加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 授权标签如何工作? – Asp.net Mvc

发布时间:2020-12-15 18:42:44 所属栏目:asp.Net 来源:网络整理
导读:我想知道授权标签如何确定用户是否被授权? 就像说如果用户登录,他们试图去一个具有授权标签的视图。如何确定用户是否被授权?它是否对数据库进行查询并检查? 如果他们去角色授权的视图呢?是否查询会员角色表? 我只是想知道,因为我有什么asp.net会员资
我想知道授权标签如何确定用户是否被授权?

就像说如果用户登录,他们试图去一个具有授权标签的视图。如何确定用户是否被授权?它是否对数据库进行查询并检查?

如果他们去角色授权的视图呢?是否查询会员角色表?

我只是想知道,因为我有什么asp.net会员资格表认为重复的用户名。我使用严重的字段来确定哪个用户是什么,允许用户拥有相同的重复userName,但在我的数据库中仍然是唯一的。

这使得我必须为许多.net会员资料编写自定义方法,因为它都使用“userName”进行搜索,而不是使用UserId。

所以我现在想知道Authorize标签是否可以这样。既然我没有任何线索,它如何工作,喜欢,如果我没有使用.net会员资格,我将不会有一个线索如何确定它。

谢谢

解决方法

授权标签使用ASP.NET中的所有内置成员资格检查。你自己的标签是很容易的。例如:
public class MyAuthorize : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        if (httpContext == null) throw new ArgumentNullException("httpContext");

        // Make sure the user is authenticated.
        if (httpContext.User.Identity.IsAuthenticated == false) return false;

        // Do you own custom stuff here
        bool allow = CheckIfAllowedToAccessStuff();

        return allow;
    }
}

然后,您可以使用[MyAuthorize]标签,该标签将使用您的自定义检查。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读