Tag: 授权

使用授权管理器(AzMan)获取属于角色的用户列表

使用ASP.NET(C#)我已经设置了授权管理器,允许我处理网站上的角色。 添加到角色的用户是简单的Roles.AddUserToRole(“DOMAIN\\UserName”, “role”) 。 但是,我想列出属于某个角色的用户,但由于它们存储为SID,因此显示它们并没有那么有用。 为了获得用户,我认为必须使用XML,尽管可以使用COM Interop来做到这一点并获取用户名吗? 无论哪种方式,我如何获得属于角色的用户? 管理角色的表基本上是这样的: Role User —- —- admin DOMAIN\UserName [delete] DOMAIN\UserName2 [delete] [add user text box] news DOMAIN\UserName3 [delete] [add user text box]

WEB API – 在控制器或操作级别授权(无身份validation)

我有一个没有身份validation的现有API。 它是一个公共Web API,几个客户通过发出简单的请求来使用它。 现在,需要授权访问某种方法。 有没有办法做到这一点,保持其他控制器和相应的方法为已经使用此Web API的客户端“打开”? 如何识别请求是否有权访问此“受保护”方法?

检查SignalR属性中的授权

我在ServiceStack上有一些服务,并在这个项目中使用SignalR。 现在,我想保护集线器连接(仅对经过身份validation的用户进行访问),但我使用ServiceStack框架身份validation..(不是asp.net身份validation)和ServiceStack的会话(在此会话中写入AuthUserId和身份validation标志)。 因此,当用户尝试连接到集线器时 – 集线器必须检查身份validation… (是的,我可以从Hub请求Cookie(例如,OnConnected方法),但在Authorize Attribute中检查身份validation – 我必须在此类(不在集线器中)中执行此操作 ( http://www.asp.net/signalr/overview/signalr-20/security/hub-authorization ) 所以,我创建了课程 [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] public class AuthorizeMyAttribute : AuthorizeAttribute { protected override bool UserAuthorized(System.Security.Principal.IPrincipal user) { //… how can i request Cookies? / or may be can access for ServiceStack session… // and return true or false } } […]

带有EF6的IdentityServer4

我已经基于此实现了IdentityServer4的基本Web API保护。 该演示基于内存数据。 大多数教程都基于用户数据的EF Core实现。 在我搜索时, IdentityServer3有一个IUserService ,现在在版本4中丢失了。 builder.AddInMemoryClients(Clients.Get()); builder.AddInMemoryScopes(Scopes.Get()); builder.AddInMemoryUsers(Users.Get()); 如何从EF6商店检索我的用户数据?

ASP.NET Core中的自定义授权属性

我正在研究asp.net核心,我不了解一些事情。 例如,在mvc.net 5中,我们可以使用AuthorizeAttribute中的create class过滤和授权操作,并将属性设置为这样的操作: public class AdminAuthorize : AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { base.OnAuthorization(filterContext); if (filterContext.Result is HttpUnauthorizedResult) filterContext.Result = new RedirectResult(“/Admin/Account/Login”); } } 但是在asp.net核心中我们没有AuthorizeAttribute …如何在asp.net核心中为自定义操作设置这样的filter?

自定义授权(权限)ASP.NET MVC

在我的应用程序中,角色具有多个权限。 我希望用户能够访问依赖于权限的操作,而不是角色。 所以假设: 管理员有perm1,perm2,perm3, SuperAdmin拥有管理员拥有的所有权限+ perm4和perm5。 此外,还有一些小家伙也有perm1,perm3,perm6,perm7。 我想做以下事情:我想让那些假设perm3或perm4的人可以访问。 这两个权限来自两个不同的角色。 但是除了perm3 Admin有perm1和perm2之外,这个动作也可以由具有perm3的小家伙访问(不一定是admin或superadmin)。 所以你明白我的意思吧? 我想在ASP.NET MVC 4中实现这一点。所以我想我需要创建自己的AuthorizeAttribute ,我自己的IIdentity并在global.asax中编写一些方法。 ASP.NET中还有一个成员资格我是否需要触摸它? 我不知道如何把所有的东西放在一起。 谁能帮我吗?

C#FatClient Facebook身份validation失败:返回URI不包含令牌

当使用System.Windows.Controls.Webbrowser接收Facebook oauth响应字符串进行身份validation时,我遇到了一个奇怪的问题。 发送以下请求URI: https://www.facebook.com/dialog/oauth?client_id=[APPID]&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=publish_stream,read_friendlists,email&response_type=token 但我收到的只是https://www.facebook.com/connect/login_success.html ,即没有access_token。 奇怪的是,将请求URI复制并粘贴到浏览器(例如IE8)中会正确返回auth-uri https://www.facebook.com/connect/login_success.html#access_token=[PROPERTOKEN]&expires_in=[PROPERNUMBER] 以下是我一直在尝试的内容:(完全C#类: http : //pastebin.com/GePLHXnD ) 首先,发送请求URI: private void Window_Loaded(object sender, RoutedEventArgs e) { StringBuilder authReqUri = new StringBuilder(“https://www.facebook.com/dialog/oauth?client_id=”); authReqUri.Append(Properties.Settings.Default.FBAppID); authReqUri.Append( “&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=”); authReqUri.Append(Properties.Settings.Default.FBScope); authReqUri.Append(“&response_type=token”); Properties.Settings.Default.FBReqString = authReqUri.ToString(); return; } 并且onWindowClose执行解析令牌: /// /// Property to indicate if authentication with facebook was a success /// public bool AuthenticatedSuccessfully { get […]

ASP.Net Core 2.0混合身份validationJWT和Windows身份validation不接受凭据

我在asp.net core 2.0中创建了API,我正在使用混合模式身份validation。 对于某些控制器JWT和一些使用Windows身份validation。 我对使用JWT授权的控制器没有任何问题。 但对于我想要使用Windows身份validation的控制器,我无限期地提示使用chrome的用户名和密码对话框。 这里是我的示例控制器代码,我想使用Windows身份validation而不是JWT。 [Route(“api/[controller]”)] [Authorize(AuthenticationSchemes = “Windows”)] public class TestController : Controller { [HttpPost(“processUpload”)] public async Task ProcessUploadAsync(UploadFileModel uploadFileModel) { } } 我的配置服务代码 public void ConfigureServices(IServiceCollection services) { services.AddAuthentication(options => { options.DefaultAuthenticateScheme = IISDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(“Bearer”, options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateAudience = false, ValidateIssuer = […]

有关Windows窗体应用程序的身份validation和授权的任何框架?

我是C#开发人员。 我开发了Windows和Web应用程序。 我想构建一个具有基于角色的系统的Winforms应用程序。 所有用户都必须在角色/组中。 然后我们为角色/组分配“查看,添加,更新,…”等权限。 角色/组是动态的,因此我们允许用户定义它。 是否有任何框架和良好的示例项目来实现它?

如何使用Asp.Net Identity 2将用户添加到角色后使.AspNet.ApplicationCookie失效?

我有两个与此相关的问题: 1)我需要使用Asp.Net Identity 2添加/删除一些远程用户到Role后无效.AspNet.ApplicationCookie我尝试使用UpdateSecurityStamp,但由于没有更改密码或用户名,因此SecurityStamp保持不变。 当我使用ApplicationRoleManger时,我可以看到用户角色已更新,但在User.Identity声明中,它们保持不变。 2).AspNet.ApplicationCookievalidation如何工作以及如何访问它? 我试图使用此代码,但没有任何效果 什么是ASP.NET Identity的IUserSecurityStampStore 接口? 更新:这是我的Cookievalidation设置: app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString(“/Account/Login”), Provider = new CookieAuthenticationProvider { OnValidateIdentity = SecurityStampValidator.OnValidateIdentity( validateInterval: TimeSpan.FromSeconds(0), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)), OnApplyRedirect = ctx => { if (!IsApiRequest(ctx.Request)) { ctx.Response.Redirect(ctx.RedirectUri); } } } }); 我可以看到user.GenerateUserIdentityAsync(manager)仅在登录时被命中。