gpt4 book ai didi

c# - IsInRole 的问题 - customRoleProvider

转载 作者:太空宇宙 更新时间:2023-11-03 14:21:31 26 4
gpt4 key购买 nike

我在周末实现了一个带有自定义身份验证的自定义 RoleProvider。使用 Silverlight 业务模板,我能够在服务请求上放置 [RequiresRole("Admin")] 属性:

[RequiresRole("Admin")]
public IQueryable<P_BUDGET> GetBudgets()
{
return this.ObjectContext.P_BUDGET;
}

这就像一个魅力。我使用了以下代码

然后我进入了 Kyle McClellans 授权库。如果我在 XAML (s:Authorization.RequiresRole="Admin") 中的 HyperlinkBut​​ton 上设置“RequiresRole”属性,它会在应用程序加载时成功隐藏按钮。当我登录时,我希望它能够识别我的测试用户所处的“管理员”角色,最终将该 HLB 的可见性更改为 true。但是,当我单步执行代码时,我进入了我的 App.Web.g.cs 文件,它具有以下功能:

public bool IsInRole(string role)
{
if ((this.Roles == null))
{
return false;
}
return global::System.Linq.Enumerable.Contains(this.Roles, role);
}

在上面的代码中,this.Roles 为空。我在这里错过了什么?第一个代码块使用我已覆盖的“GetRolesForUser”方法,并从数据库中的 View 返回角色列表。第二个使用了 IsInRole,据我所知,您不应该修改它。

感谢您的帮助!

最佳答案

您的自定义角色提供者应负责从您的数据库生成角色列表或通过数据库调用验证用户是否在角色中

看看这个来自微软的示例代码:http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.isuserinrole.aspx

关于c# - IsInRole 的问题 - customRoleProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5226775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com