c# – 为什么我会在控制器属性中硬编码用户权限?
发布时间:2020-12-15 08:01:59 所属栏目:百科 来源:网络整理
导读:我看过这样的示例代码,看起来非常合理: [Authorize(Roles = "Admin,User")] public class SomeController : Controller 但我也看到了几个看起来像这样的例子: [Authorize(Users = "Charles,Linus")] public class SomeController : Controller 我为什么要
我看过这样的示例代码,看起来非常合理:
[Authorize(Roles = "Admin,User")] public class SomeController : Controller 但我也看到了几个看起来像这样的例子: [Authorize(Users = "Charles,Linus")] public class SomeController : Controller 我为什么要这样做?我无法想象任何我想要建立一个事先了解其用户名的系统的场景. 解决方法
这有一些合法的用途,这里有一个例子:如果你正在建立一个非常简单的网站,只有一个管理员帐户和一个未经身份验证的帐户,你可以做
[Authorize(Users = "Admin")] 这样可以省去为单个用户构建角色的麻烦.想想UNIX风格,其中root帐户(uid 0)是特殊的而不是特定的组. 另一个例子就是一个扔掉的应用程序,你正在测试一些东西.如果您只是想测试您的身份验证页面或类??似的东西,没有理由去担心角色. 还有一个原因:测试.您可以为您的身份验证构建单元测试,而无需对基于角色的框架进行单元测试. (请记住,并非所有人都使用默认成员资格提供程序,并且某些成员资格提供程序非常复杂.)通过为测试用户创建硬编码身份验证,您可以绕过角色框架. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |