zoukankan      html  css  js  c++  java
  • 基于cookies 鉴权 授权

    首先 在serveices 方法 注册容器 告诉容器时 cookis 形势  

    public void ConfigureServices(IServiceCollection services)
    {
    services.AddControllersWithViews();
    services.AddAuthentication(option =>
    {
    option.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    option.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;

    }).AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, option=> {
    option.LoginPath = "/home/index";
    option.AccessDeniedPath = "/home/Privacy";
    });

    ///这里是 授权 运用policy  策略   可以连接自己数据库灵活扩展 

    services.AddAuthorization(option =>
    {
    option.AddPolicy("AdminPolicy", policy => {

    policy.Requirements.Add(new DoubleEmailRequirement());

    });
    option.AddPolicy("QQEmail", policy =>
    {
    policy.Requirements.Add(new DoubleEmailRequirement());

    });
    });

    services.AddSingleton<IAuthorizationHandler, QQHander>();
    services.AddSingleton<IAuthorizationHandler, Handler163>();
    }

    在 Configure 方法类  别忘记  添加鉴权 和授权的 中间件 

    app.UseAuthentication();

    app.UseAuthorization()

    在EmailRequirement 中继承IAuthorizationRequirement 标识   至于为什么这么做需要自己解读源码

  • 相关阅读:
    05mybatis配置方式简单入门
    04mybatis配置文件lombok组件使用
    03mybatis-注解方式简单入门实例
    01-02 ssm框架简介
    jsp实现文件上传
    新增的语义化标签
    html5与html4的区别
    面向对象总结
    html语法
    购物车总结
  • 原文地址:https://www.cnblogs.com/jasontarry/p/14789997.html
Copyright © 2011-2022 走看看