zoukankan      html  css  js  c++  java
  • .net 4.0+ 应用接入openid Server步骤

    .net 4.0+ 应用接入openid Server步骤:

    Requirements:Microsoft.AspNet.Mvc 5.2.4+

    1 确认应用是否是katana启动(项目引用了owin,根目录下有startup.cs)。

    如果不是katatna启动:

    1.1 加入以下nuget包:

    // 依赖众多

    Microsoft.Owin.Security.OpenIdConnect

    // 关键

    Identitymodel

    Microsoft.Owin.Security.Cookies

    //iis用于owin startup 启动

    Microsoft.Owin.Host.SystemWeb

    Kentor.OwinCookieSaver

    1.2 项目根目录下添加startup.cs。

    如果Global.asax.cs项里有webapi配置,移动到startup.cs里的Configuration方法内:

    [assembly: OwinStartup(typeof($yournamespace.Startup))]

    namespace $yournamespace

    {

        public class Startup

        {

            /// <summary>

            /// hack

            /// </summary>

            public static HttpConfiguration HttpConfiguration { get; private set; }

            public void Configuration(IAppBuilder app)

            {

            }

        }

    }

    1.3.       启动项目,确认katana正确启动。

    1. 在Startup.cs的Configuration方法加入openid设置:(见附件)

    修改配置项

    var ApplicationUrl = "http://localhost/SampleMvc4.x/";//你的应用的外服访问地址

    var IdentityUrl = "http://localhost:5000/";//idsvr地址

    var ClientId = "mvc5.owin";//你应用的clientid,找管理员注册

    var ClientSecret = "secret";//你应用的clientSecret,找管理员注册

    IdentityUrl配置项为oauthserver的endpoint地址,确保服务器能访问endpoint,否则应用无法启动。

    1. 在需要登录的action或controller上加入[Authorize]属性。

     

    此时未带有authcookie的请求会被转向至openidserver 登录界面

    1. 获取当前用户信息:

    Cnbauth在签出的token内自带用户信息。当授权用户访问时,controller作用域的User属性的Claims会被赋值。附帮助类:

     

    在action内使用方式如下:

     退出登录

     public ActionResult Logout()
            {
                Request.GetOwinContext().Authentication.SignOut();
                return Redirect("/");
            }
  • 相关阅读:
    linux----安装jdk
    docker安装gitlab
    Centos7 安装docker
    容易混淆的字符
    nodejs 简单从淘宝的有好货根据关键词获取列表以及详情
    bash设置终端提示符
    C# NuGet打包和离线安装
    Shell 遍历文件夹中所有文件并进行相关操作
    css中“~”和“>”
    双击编辑表格字段
  • 原文地址:https://www.cnblogs.com/yechangzhong-826217795/p/11024436.html
Copyright © 2011-2022 走看看