Tag: 授权

claim-types中的URL是什么

由于我想在我的应用程序中添加自定义声明,因此我检查了ClaimTypes的源代码(使用JetBrains反编译器反编译)。 这是它的一部分: namespace System.Security.Claims { /// Defines constants for the well-known claim types that can be assigned to a subject. This class cannot be inherited. [ComVisible(false)] public static class ClaimTypes { internal const string ClaimTypeNamespace = “http://schemas.microsoft.com/ws/2008/06/identity/claims”; /// The URI for a claim that specifies the instant at which an entity was authenticated; http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant. public […]

Azure DocumentDB – HTTP请求中找到的MAC签名与计算的签名不同

看似随机我无法从DocumentDB获取文档。 我可以调试,让它失败,下面的消息,然后再试一次,然后工作。 如果这与我的MAC地址有关,我也尝试从不同的工作站获得相同的结果。 Microsoft.Azure.Documents.UnauthorizedException,message:{“错误”:[“在HTTP请求中找到的MAC签名与计算的签名不同。服务器使用字符串后签名 – ‘post \ ndocs \ nmo1oanohoga = \ nwed ,25二月2015 12:35:57 gmt \ n \ n’“]} 我怎么去报道这个和b)试图弄清楚发生了什么?

硬件锁定许可:我应该使用哪些硬件?

我最近实施了一个带模糊匹配的硬件锁定许可系统来处理硬件的变化而无需重新激活,但我需要更多的硬件来匹配以更安全/创建更可靠的模糊匹配。 现在我正在匹配以下内容: 物理mac地址 硬盘序列号 RAM部件号/制造商/尺寸 处理器ID 什么是其他特定于机器的不变硬件序列号,在这种情况下可以很好地使用,并且可以从C#轻松检索。 检索这些硬件信息的代码示例也将受到赞赏。 澄清 当我说“不变”时,我指的是硬件序列或信息,如果不直接修改机器中的硬件就不会改变。 (IE,不会自行更改,也不会通过软件更改)

HandleUnauthorizedRequest不会覆盖

在我的asp.net mvc3应用程序中,我有一个自定义授权属性,如下所示。 public class CustomAuthorize : AuthorizeAttribute { public IAccountRepository AccountRepository { get; set; } public CustomAuthorize() { this.AccountRepository = new UserModel(); } protected override bool AuthorizeCore(HttpContextBase httpContext) { base.AuthorizeCore(httpContext); return AccountRepository.isEnabled(HttpContext.Current.User.Identity.Name); } protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { base.HandleUnauthorizedRequest(filterContext); } } 我的控制器操作上有[CustomAuthorize]标签, AuthorizeCore方法工作正常 – 它执行我想要的逻辑(确保帐户实际启用),然后返回。 但是,重写的HandleUnauthorizedRequest方法,据我所知,应该允许我控制未经授权的请求的行为,根本不运行。 我在那里放了一个断点,我把代码放在那里,我未经授权访问我的应用程序,代码永远不会运行。 我错过了什么? 编辑:我做了一些更多的研究,发现了一些其他人有这个问题,但不幸的是没有解决方案。 EDIT2:示例代码 [CustomAuthorize] public class UserController: […]

WCF UserName身份validation:我可以在自定义ServiceAuthorizationManager中获取用户名吗?

我有一个使用自定义ServiceAuthorizationManager的WCF服务。 自定义身份validation管理器已设置为处理Windows和Forms身份validation。 但是,如果我连接到设置为UserName auth的客户端,我似乎无法在任何地方找到用户名。 客户端代码如下所示: this.ClientCredentials.UserName.UserName = “user”; this.ClientCredentials.UserName.Password = “pass”; this.Open(); this.MyMethod(); // my actual contract method this.Close(); 然后在服务器上,我有我的自定义身份validation管理器: public sealed class AppAuthorizationManager : ServiceAuthorizationManager { public override bool CheckAccess(OperationContext operationContext, ref Message message) { // would like to check user/pwd here… } } 这可能吗? Thread.CurrentPrincipal未设置, 未设置operationContext.ServiceSecurityContext.PrimaryIdentity 。 operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets为空。 用户/密码应该在任何地方可用吗? 或者我是否还要添加自定义UsernamePasswordValidator ? 更新:所以我添加了一个自定义UserNamePasswordValidator和一个IAuthorizationPolicy 。 […]

WCF服务授权模式

我正在实现一个安全的WCF服务。 使用用户名/密码或Windows凭据进行身份validation。 该服务托管在Windows服务进程中。 现在,我正在尝试找出为每个服务操作实现授权的最佳方法。 例如,请考虑以下方法: public EntityInfo GetEntityInfo(string entityId); 您可能知道,在WCF中,有一个OperationContext对象,您可以从中检索调用方/客户端传入的安全凭据。 现在,在调用方法的第一行时, 身份validation已经完成。 但是,如果决策取决于输入数据本身,我们如何实施授权? 例如,在上述情况下,说’admin’用户(其权限等存储在数据库中),允许获取实体信息,不允许其他用户…我们在哪里进行授权检查? 假设我们把它放在方法的第一行,如下所示: CheckAccessPermission(PermissionType.GetEntity, user, entityId) //user is pulled from the current OperationContext 现在,有几个问题: 我们是否在授权检查或INSIDE授权检查之前validationentityId(例如检查null /空值等)? 换句话说,如果每个方法都应该包含授权检查,那么这是一个好的模式吗? 哪个应该首先发生 – 参数validation或授权? 当授权检查遍布这样的地方时,我们如何对WCF服务进行unit testing,并且我们在unit testing中没有OperationContext!? (假设我试图在没有任何WCF设置的情况下直接测试这个服务类实现)。 任何想法的家伙?

如何在asp.net中使用Windows身份validation获取用户名?

我想使用Windows身份validation获取用户名 实际上我实现了“以不同用户身份登录”,单击此按钮时,Windows安全性将出现在那里,我们可以提供凭据。 在那个时候,如果我提供一些其他凭证,它只采用当前用户名。 如何从Windows安全性获取给定的凭据用户名? 在IIS中的主机应用程序,然后禁用匿名身份validation并启用Windows身份validation。 web.config中: 的.cs 在这里,我总是得到默认的用户名 string fullName = Request.ServerVariables[“LOGON_USER”]; 有任何想法吗? 提前致谢

混合组和用户的asp.net mvc 属性

我使用ASP.NET MVC 1.1与Windows身份validation。 我试图只授权一个团体的成员和我自己。 我不是该组的成员,也不需要成为该组的成员。 每次访问网络应用程序的URL时,我都会收到Windows登录/密码提示。 HomeController有 [HandleError] [Authorize(Roles=@”MyDomain\\company.security.group.name”)] [Authorize(Users=@”MyDoamin\\MyName”)] [OutputCache(Duration=86400,VaryByParam=”PageIndex”)] public class HomeController : Controller 我如何启用此类授权? Web应用程序在IIS6上的站点下运行。 该站点具有目录安全性以接受匿名。 Web应用程序/虚拟目录已禁用匿名并启用了Windows集成安全性。 web.config有

如果角色包含空格,如何编写AuthorizeAttribute

我正在使用MVC3 / 4。 但这只是授权中的一般性问题。 我所拥有的一个角色是在数据库中命名为“Trip Leader”,其中包含一个空格。 我试过[Authorize(Roles=”‘Trip Leader’, Administrator”)]但它没能奏效。 有人可以帮忙吗?

Microsoft.mshtml.dll重新分发问题

我做了一个内部使用Microsoft.mshtml.dll的C#BHO。 现在打包这个BHO我还需要分发Microsoft.mshtml.dll。 用我的dll添加这个dll可以吗? 任何法律问题? 这个BHO在开发环境中工作得很好,因为Visual Studio中存在Microsoft.mshtml.dll(C:\ Windows \ assembly \ GAC \ Microsoft.mshtml \ 7.0.3300.0__b03f5f7f11d50a3a \ Microsoft.mshtml.dll)猜测,这不会是在每台机器上的情况。 请建议。