.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内使用方式如下:

退出登录

  1. public ActionResult Logout()
  2. {
  3. Request.GetOwinContext().Authentication.SignOut();
  4. return Redirect("/");
  5. }

.net 4.0+ 应用接入openid Server步骤的更多相关文章

  1. OpenID 配置步骤

    允许客户端基于授权服务器执行的身份验证来验证最终用户的身份,以及以可互操作和类似REST的方式获取关于最终用户的基本配置文件信息. 创建一个MVC客户端 1.新建一个ASP.NET Core MVC应 ...

  2. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  3. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  4. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...

  5. 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)

    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  6. (转) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    原文地址: http://www.cnblogs.com/lyhabc/p/4682986.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建Alwa ...

  7. (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...

  8. Rails 之微信开发 : OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

    微信公众平台,使用Ruby On Rails + Win7 在取得OpenID时,如果简单的使用http.get方法,会出现如下 SSL_connect returned=1 errno=0 stat ...

  9. 安装Cloudera manager Server步骤详解

    安装Cloudera manager Server步骤详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是针对:https://www.cnblogs.com/yin ...

随机推荐

  1. JAVA 中 Map 与实体类相互转换的简单方法

    1. 在 pom.xml 中引入依赖包 <dependency> <groupId>com.alibaba</groupId> <artifactId> ...

  2. 『008』Zabbix

    『006』索引-Monitoring Zabbix [001]- 点我快速打开文章[001-Zabbix 服务安装] [002]- 点我快速打开文章[002-Zabbix 前端配置] 更新中

  3. 迎国庆 itest(爱测试) 4.1.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    v4.1.0 下载地址 :itest下载 itest 简介:查看简介 在线体验 https://itest.work/demo/ V4.1.0 根据用户反馈,共增加了23个更新:其中有11个功能增强和 ...

  4. 02-webpack的基本配置-运行webpack

    1安装webPack的方式 第一次全局安装 npm i webpack -g 第一次安装了之后以后就不需要在安装了 在项目根录中运行 npm i webpack --save-dev 安装到项目依赖中 ...

  5. 炫酷的CSS3响应式表单

    原创YouTube@ Online Tutorials css代码: * { margin: 0; padding: 0; box-sizing: border-box; font-family: ' ...

  6. JS阻止冒泡和取消默认事件(默认行为)

    本文链接:http://caibaojian.com/javascript-stoppropagation-preventdefault.html 阻止事件冒泡 function(e){ if( e ...

  7. <Array> 277 243 244 245

    277. Find the Celebrity knows(i, j): By comparing a pair(i, j), we are able to discard one of them 1 ...

  8. 【ECNU620】数学题(结论题)

    点此看题面 大致题意: 求\((n-1)!\ mod\ n\)的值. 大力猜结论 首先,看到样例,我们可以猜测: 当\(n\)为质数时,答案为\(n-1\). 当\(n\)为合数时,答案为\(0\). ...

  9. VBA基础 - 数据类型

    概要 学习一种新语言, 数据类型和关键字是第一步. 数据类型 常用的数据类型如下: 类型 存储空间 范围 Boolean 2 bytes True 或者 False Byte 1 byte 0 ~ 2 ...

  10. Vue.js 源码分析(一) 代码结构

    关于Vue vue是一个兴起的前端js库,是一个精简的MVVM.MVVM模式是由经典的软件架构MVC衍生来的,当View(视图层)变化时,会自动更新到ViewModel(视图模型),反之亦然,View ...