首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏分布式系统和大数据处理

    Asp.Net 用户验证(自定义IPrincipal和IIdentity)

    Asp.Net 用户验证(自定义IPrincipal和IIdentity) 2008-12-7 作者: 张子阳 分类: Asp.Net 引言 前一段时间有两个朋友问我,为什么在HttpModule 实际上,我们可以自定义一个IPrincipal和IIdentity来完成,接下来就来看一下。 自定义IPrincipal和IIdentity 不管是在Windows上还是在Web上,.Net都使用这两个接口来实现用户的身份验证。 从这个角度上来看,自定义IPrincipal和IIdentity并没有太大的意义。 这里,我们最好是定义一个自己的类型来承载用户数据,下面我们就看下如何完成。 总结 在这篇文章中我们看到了如何使用Asp.Net内置机制实现用户验证的功能,并且通过FormsAuthenticationTicket的UserData属性、自定义IPrincipal和IIdentity

    2.2K31发布于 2018-09-30
  • 来自专栏大内老A

    [WCF权限控制]从两个重要的概念谈起:Identity与Principal[上篇]

    目录 一、IIdentity 二、WinodwsIdentity 三、GenericIdentity 四、X509Identity 五 、服务安全上下文中的身份 一、IIdentity 在.NET的安全应用编程接口中,身份通过System.Security.Principal.IIdentity接口表示。 { get; } 5: string Name { get; } 6: } 通过IIdentity表示的身份是基于某种认证类型的,不同类型的认证往往对应于不同的身份类型。 如果我们采用自定义的认证方式,是否意味着我们也需要定义一个实现了IIdentity接口的类型呢?实际上是不需要的,我们可以直接使用GenericIdentity这个类型。 GenericIdentity的定义非常简单,仅仅实现了定义在IIdentity接口的三个只读属性而以。我们可以通过指定用户名或者用户名与认证类型来创建一个GenericIdentity对象。

    971100发布于 2018-01-16
  • 来自专栏不做码农的开发者

    【asp.net core 系列】13 Identity 身份验证入门

    ClaimsIdentity> identities); public ClaimsPrincipal(BinaryReader reader); public ClaimsPrincipal(IIdentity IEnumerable<ClaimsIdentity>, ClaimsIdentity> PrimaryIdentitySelector { get; set; } public virtual IIdentity 所以,通过简单的分析,我们需要继续了解这两个类: public class ClaimsIdentity : IIdentity { public ClaimsIdentity(); public ClaimsIdentity(string authenticationType); public ClaimsIdentity(IIdentity identity); public public ClaimsIdentity(IEnumerable<Claim> claims, string authenticationType); public ClaimsIdentity(IIdentity

    1.4K20发布于 2020-06-24
  • 来自专栏大内老A

    [WCF权限控制]从两个重要的概念谈起:Identity与Principal[下篇]

    1: public interface IPrincipal 2: { 3: bool IsInRole(string role); 4: IIdentity Identity { get; } 5: } 上面我们具体介绍了IIdentity接口的两个实现,WindowsIdentity和GenericIdentity。 Identity { get; } 9: } 三、GenericPrincipal 而一个GenericPrincipal对象本质上就是对一个IIdentity对象和表示角色列表的字符创数组的封装而以 1: public class GenericPrincipal : IPrincipal 2: { 3: public GenericPrincipal(IIdentity identity , string[] roles); 4: public virtual bool IsInRole(string role); 5: public virtual IIdentity

    1.3K90发布于 2018-01-16
  • 来自专栏不做码农的开发者

    【asp.net core 系列】15 自定义Identity

    介绍完了Claim类之后,我们继续看一下Identity相关的常用类: public class ClaimsIdentity : IIdentity; 通过这个类的声明,我们可以看出它实现了接口: public interface IIdentity { string? 我们继续看一下ClaimsIdentity的几个关键点: public class ClaimsIdentity : IIdentity { public ClaimsIdentity(string authenticationType); public ClaimsIdentity(IIdentity identity); public ClaimsIdentity(IEnumerable 接下来,让我们反向解析出Principal里面的数据: public interface IPrincipal { IIdentity?

    1.1K20发布于 2020-07-13
  • 来自专栏.Net Core 技术栈

    Asp.Net Core 中IdentityServer4 实战之 Claim详解

    ClaimsIdentity 我们先来看看ClaimsIdentity的部分代码,代码如下: public class ClaimsIdentity:IIdentity { public ClaimsIdentity 同时ClaimsIdentity继承了IIdentity抽象接口,我们再来看看这个抽象接口的代码: // 定义证件对象的基本功能。 public interface IIdentity { //证件名称 string Name { get; } // 用于标识证件的载体类型。 public ClaimsPrincipal(IEnumerable<ClaimsIdentity> identities); public ClaimsPrincipal(IIdentity identity); public ClaimsPrincipal(IPrincipal principal); public virtual IIdentity

    1.8K20编辑于 2022-04-07
  • 来自专栏跟着阿笨一起玩NET

    .net中的认证(authentication)与授权(authorization)

    /角色识别",好比"管理员用户"登录windows后,能安装软件、修改windows设置等所有操作,而Guest用户登录后,只有做有限的操作(比如安装软件就被禁止了). .net中与"认证"对应的是IIdentity

    1K10发布于 2018-09-18
  • 来自专栏菩提树下的杨过

    .net中的认证(authentication)与授权(authorization)

    /角色识别",好比"管理员用户"登录windows后,能安装软件、修改windows设置等所有操作,而Guest用户登录后,只有做有限的操作(比如安装软件就被禁止了).  .net中与"认证"对应的是IIdentity System.Runtime.InteropServices; namespace System.Security.Principal { [ComVisible(true)] public interface IIdentity System.Security.Principal { [ComVisible(true)] public interface IPrincipal { IIdentity Identity { get; } bool IsInRole(string role); } } 应该注意到:IPrincipal接口中包含着一个只读的IIdentity ; txtUserName.Focus(); return; } IIdentity _

    2.4K100发布于 2018-01-23
  • 来自专栏Linux基础 for 凡人

    Linux基础 | 跨服务器文件拷贝的几种简单方法介绍(lrzsz、nc、scp、rsync)

    -Pport 注意是大写的P, port是指定数据传输用到的端口号-iidentity_file: 指定证书文件。-llimit: 限定用户所能使用的带宽,以Kbit/s为单位。

    8.1K00编辑于 2022-06-21
  • 来自专栏大内老A

    [WCF权限控制]ASP.NET Roles授权[上篇]

    1: IIdentity identity1 = Thread.CurrentPrincipal.Identity; 2: IIdentity identity2 = ServiceSecurityContext.Current.PrimaryIdentity

    1.4K70发布于 2018-01-16
  • 来自专栏圣杰的专栏

    Asp.net mvc 知多少(八)

    ASP.NET 提供了IPrincipal 和IIdentity接口来表示用户的身份和角色。这两个接口 绑定到HttpContext对象和当前线程。可以通过实习这两个接口来创建自定义的方案。 public class CustomPrincipal : IPrincipal { public IIdentity Identity { get; private set; } public

    1.9K90发布于 2018-01-11
  • 来自专栏大内老A

    [WCF权限控制]ASP.NET Roles授权[下篇]

    1: IIdentity identity1 = Thread.CurrentPrincipal.Identity; 2: IIdentity identity2 = ServiceSecurityContext.Current.PrimaryIdentity

    1.3K100发布于 2018-01-16
  • 来自专栏大内老A

    [WCF权限控制]WCF的三种授权模式

    ServiceSecurityContext securityContext); 4: public bool IsInRole(string role); 5: public IIdentity

    1K70发布于 2018-01-16
  • 来自专栏圣杰的专栏

    ABP入门系列(10)——扩展AbpSession

    看下ClaimsIdentity的简要代码: public class ClaimsIdentity: IIdentity { public virtual IEnumerable<Claim> public ClaimsPrincipal(IEnumerable<ClaimsIdentity> identities){} //当事人的主身份呢 public virtual IIdentity

    1.9K60发布于 2018-01-11
  • 来自专栏c#开发者

    企业库推广

    [C#] private IIdentity identity; // Identity for authenticated users [Visual Basic] Private identity As IIdentity ' Identity for authenticated users Obtain the text username and password from the user by

    2K130发布于 2018-04-13
  • 来自专栏木宛城主

    ASP.NET那点不为人知的事(一)

    this.SetPrincipalNoDemand(value); } } Iprincipal又有一个名为Identity,类型了System.Security.Principal.IIdentity DynamicallyInvokable] bool IsInRole(string role); // Properties [__DynamicallyInvokable] IIdentity Identity { [__DynamicallyInvokable] get; } } [ComVisible(true), __DynamicallyInvokable] public interface IIdentity DynamicallyInvokable] get; } } IsAuthenticated表示当前请求用户是否已经被验证,IsAuthenticated =false,那么表示这是一个匿名用户,如果为True,那么通过IIdentity

    1.4K80发布于 2018-01-11
  • 来自专栏精益码农

    ASP.NET Core 基于声明的访问控制到底是什么鬼?

    , string value); // ClaimsPrincipal提供了一些辅助方法/属性来检查声明. } var principal = new ClaimsPrincipal(new IIdentity

    1.2K30发布于 2020-09-27
  • 来自专栏全栈程序员必看

    C# AntiForgeryToken防XSRF漏洞攻击

    public AntiForgeryToken GenerateFormToken(HttpContextBase httpContext, IIdentity identity, AntiForgeryToken

    1.9K10编辑于 2022-08-31
  • 来自专栏木宛城主

    ASP.NET MVC 随想录—— 使用ASP.NET Identity实现基于声明的授权,高级篇

        } } 在这个例子中可以看出ASP.NET Identity 已经很好的集成到ASP.NET 平台中,而HttpContext.User.Identity 属性返回一个 IIdentity } ClaimsAccessAttribute 特性继承自AuthorizeAttribute,并Override了 AuthorizeCore 方法,里面的业务逻辑是当用户验证成功并且IIdentity

    3.1K80发布于 2018-01-11
  • 来自专栏大内老A

    利用EntLib授权机制实现对ASP.NET页面的自动授权

    HttpContext.Current.User.Identity.IsAuthenticated) 6: { 7: return; 8: } 9:  10: IIdentity

    1.4K90发布于 2018-01-15
领券