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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 授权标签如何工作? – Asp.net Mvc前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道授权标签如何确定用户是否被授权?

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

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

我只是想知道,因为我有什么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]标签,该标签将使用您的自定义检查。

原文链接:https://www.f2er.com/aspnet/253701.html

猜你在找的asp.Net相关文章