From 1c389af7b19e92ffe5d307bbe9479bce1e288514 Mon Sep 17 00:00:00 2001 From: "yubaolee@163.com" Date: Thu, 3 May 2018 17:26:23 +0800 Subject: [PATCH] update icon --- OpenAuth.Mvc/OpenAuth.Mvc.csproj | 1 + OpenAuth.Mvc/Views/Login/Index.cshtml | 2 +- OpenAuth.Mvc/favicon.ico | Bin 16958 -> 4158 bytes OpenAuth.Mvc/images/1.png | Bin 39959 -> 0 bytes .../Areas/SSO/Controllers/CheckController.cs | 170 +++++++++--------- 5 files changed, 87 insertions(+), 86 deletions(-) delete mode 100644 OpenAuth.Mvc/images/1.png diff --git a/OpenAuth.Mvc/OpenAuth.Mvc.csproj b/OpenAuth.Mvc/OpenAuth.Mvc.csproj index 4af1bfb2..0273a5a4 100644 --- a/OpenAuth.Mvc/OpenAuth.Mvc.csproj +++ b/OpenAuth.Mvc/OpenAuth.Mvc.csproj @@ -182,6 +182,7 @@ + diff --git a/OpenAuth.Mvc/Views/Login/Index.cshtml b/OpenAuth.Mvc/Views/Login/Index.cshtml index fc2779d5..3da45ae4 100644 --- a/OpenAuth.Mvc/Views/Login/Index.cshtml +++ b/OpenAuth.Mvc/Views/Login/Index.cshtml @@ -24,7 +24,7 @@
- OpenAuth.Net + diff --git a/OpenAuth.Mvc/favicon.ico b/OpenAuth.Mvc/favicon.ico index 1076a2c297b1136e9f5459defb25d8d41834b6d0..f0e3dd820b79925819520fda11e46a4e6b4ed58a 100644 GIT binary patch literal 4158 zcmb_eSx*~h6rKKoDxwLc0m6>WzON-ARnk9D^`*ZgaWLQ*uvxsYLtEOkQdRW_RN|>` zeX6SVDS<+aA&l3tu?-j!x}4rSOybGK@8!pk~ zm(F?p?I&QIe{)}jI2V$I2KZIb5wFRUakepx#QI$%)`pP$>YiE?J-wOdc%F4wFQ5JS z#ytp}Z9c;J)+YS!Uc^=harX7yR8MenW#)76d~l%;$LmAtyw(oPPlq~8U;DG2P?q}X z9t>UUr*pGiGhf7^vm5cX%ioY(>o3i=!`YV~BOPMaJKc`(d=E}}{w*iDK8O=KAFmFi z!2RULBFrn(5vWRrTSEcQZicObUViTENt)1@o$nL}}P zAVM4wUR$$TW4%lt_CH>v-83LHcC8IKv^OK_YDZ$BLzAB%ojCQGC*pwo`JByz{SynU znH@r7*J^}!ssW0#mGm#U@%eTfx!Xv)Rn04U zSPZ1qh$B~v%8xi(;IlX4fc6T^G^Og?7xB_+KybDRtdq?n=4z&1ZV0XI@j7@X3<%FQ zsxzX#YpKI4n-LKQ`|z{AdQbN!4N>>)Cvwj>g|(4${kkrSgeuwq4G02K@~b;Tfw!aIz+^F8eFCYUskWQOM)DsT?myE8w4~LTIX5 z&7!$IatDV`D-ou8PTk4s0Q>vK>u)NPmCys>!TH7GGVG0#m!%?A{yPzbmuf+4MP5Dj z77?Df13d^4PlR{l3p{^RDvoO29Vvs)QV!) literal 16958 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

Zb~4mdv}M#;Ve3}^l932#^ zKm^pW=+CHSmNZ|HinaJ0srd7?8~zJsgE&bmpf&OjN`)8Sf@A>%NZ@Dqcb2(@Nwbd3 z2MwLB#46_>d$>v@IR8NEKB0*@f7d%DYFq=1!Z5RJb}_unp^^&dbHx%My;AS~f$U@^ z>jXbpNi(Fb`Pvwj>&>rhSwN{L+mwh2Cr;8%wRrvq^6g)`3jObTf#n@;`~J}-E@Isb zFLSL}3|vi`=7-hTQ~txbCP@>+*^wa%rjeXmj`{vL)$+FeQ+i~HRPo8$uv$d#tv@(_ z(vo#LYyrzdUH2U+dD&p`!Ubv(z<`e3eVAZ+#q|G>j@W1ll08Z@RB_oSk3Q@Jj0Q8Z z%$*U?1y-5iF(&$|92> zX}w=#gbToS(Q^<#_I=JjLbm)-cx`VIV$Is#m%u{Z3sA77L{5O}+=sDM|7oqq3k5c4 z|Ie;zd?JS28j$Ji<>Ggkt-;+_@#j84XRk(xmt0qSW6@qrVVZ`*Pdfl-??{nUQpG8O z>ksGtBX9Ius=$4ijMupIH2wodK@{-BC2&>B?($LG3QF+bi!1nl?+WgWB0#lFH~jvv zC`_{mh)y~nz;8 zjoyp)|7m1_JgxDr@oK}=vzqmJsnOdCcb5z9td>)|_1jQ|ci#1K(@cTx{!aKGxtKmK zLsj?tlrz`X23xR;0+eG7A34pdG|LpFD+E670%k}whU%)mK8CPJ94~(9aiIT~j!fT& z6-5k2vQ0_X+c8<){I{KD^FFYhZAhJ+)ZE0UYn&NRdJxR%J5{9*hL zb!9A9UH@rbr>7(`!x|9&uzXOa^pV2n3G#Sw5vfdj zNW+(}B1M@By?dneci8;<3EFreJl06MI>6RTkn=f#Ll26`AfndZAGf7FZaaz@9m!VB znoeqknaCjM_!Ca~&rB7gWuYebe54PJZffS0OL_MzQyWbEr#M!HpLzMY(m*m@TFfNj zNM(9DSQy3LTAqc96%8!pz**Yqw$KC-!eE3N?-YJ%Sy%5HxhInJ(d9bb3QIa8&8k;dtczh98p3HAI zNS{jbY{<$3_au7rz=!HzRJuct-%%}T0JY0_X>_db9uHqPw!P{LLus=g&G|8yy6y1v zpJ)y}EhT58BI|06O!*yJY+<)q_wJe!x0{Kz{=aB~x?hbq-sesOt-f)(?EKIu9PwE1 z=kmcOf>qlFhyHmT?6vM6vEHqcWGh4;P}9q~lEU5wp?X)->*mj$t&fX_LxwΞ?_` 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 diff --git a/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs b/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs index e0d161f4..66f96956 100644 --- a/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs +++ b/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs @@ -1,54 +1,54 @@ -// *********************************************************************** -// Assembly : OpenAuth.WebApi -// Author : yubaolee -// Created : 07-11-2016 -// -// Last Modified By : yubaolee -// Last Modified On : 07-11-2016 -// Contact : -// File: CheckController.cs -// *********************************************************************** - -using System; -using System.Web.Http; -using Infrastructure; -using Infrastructure.Cache; -using OpenAuth.App; -using OpenAuth.App.SSO; -using OpenAuth.App.Response; - -namespace OpenAuth.WebApi.Areas.SSO.Controllers -{ - ///

- /// sso验证 - /// 其他站点通过后台Post来认证 - /// 或使用静态类OpenAuth.App.SSO.AuthUtil访问 - /// - public class CheckController : ApiController - { - public AuthorizeApp _app { get; set; } - private ObjCacheProvider _objCacheProvider = new ObjCacheProvider(); - - /// - /// 检验token是否有效 - /// - /// The token. - /// 备用参数. - [System.Web.Mvc.HttpGet] - public Response GetStatus(string token, string requestid = "") - { - var result = new Response(); - try - { - result.Result = _objCacheProvider.GetCache(token) != null; +// *********************************************************************** +// Assembly : OpenAuth.WebApi +// Author : yubaolee +// Created : 07-11-2016 +// +// Last Modified By : yubaolee +// Last Modified On : 07-11-2016 +// Contact : +// File: CheckController.cs +// *********************************************************************** + +using System; +using System.Web.Http; +using Infrastructure; +using Infrastructure.Cache; +using OpenAuth.App; +using OpenAuth.App.SSO; +using OpenAuth.App.Response; + +namespace OpenAuth.WebApi.Areas.SSO.Controllers +{ + /// + /// sso验证 + /// 其他站点通过后台Post来认证 + /// 或使用静态类OpenAuth.App.SSO.AuthUtil访问 + /// + public class CheckController : ApiController + { + public AuthorizeApp _app { get; set; } + private ObjCacheProvider _objCacheProvider = new ObjCacheProvider(); + + /// + /// 检验token是否有效 + /// + /// The token. + /// 备用参数. + [System.Web.Mvc.HttpGet] + public Response GetStatus(string token, string requestid = "") + { + var result = new Response(); + try + { + result.Result = _objCacheProvider.GetCache(token) != null; } catch (Exception ex) { result.Code = 500; result.Message = ex.Message; - } - - return result; + } + + return result; } /// @@ -56,11 +56,11 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers /// /// /// 备用参数. - [System.Web.Mvc.HttpGet] - public Response GetUser(string token, string requestid = "") - { - var result = new Response(); - try + [System.Web.Mvc.HttpGet] + public Response GetUser(string token, string requestid = "") + { + var result = new Response(); + try { var user = _objCacheProvider.GetCache(token); if (user != null) @@ -71,9 +71,9 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers catch (Exception ex) { result.Code = 500; - result.Message = ex.Message; - } - + result.Message ="OpenAuth.WebAPI数据库访问失败:" + ex.Message; + } + return result; } @@ -83,37 +83,37 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers /// /// /// 备用参数. - [System.Web.Mvc.HttpGet] - public Response GetUserName(string token, string requestid = "") - { - var result = new Response(); - try + [System.Web.Mvc.HttpGet] + public Response GetUserName(string token, string requestid = "") + { + var result = new Response(); + try { var user = _objCacheProvider.GetCache(token); if (user != null) { result.Result = user.Account; - } + } } catch (Exception ex) { result.Code = 500; result.Message = ex.Message; - } - - return result; - } - + } + + return result; + } + /// /// 登录接口 /// /// 登录参数 /// - [System.Web.Mvc.HttpPost] - public LoginResult Login(PassportLoginRequest request) + [System.Web.Mvc.HttpPost] + public LoginResult Login(PassportLoginRequest request) { - var result = new LoginResult(); - try + var result = new LoginResult(); + try { result = SSOAuthUtil.Parse(request); } @@ -121,8 +121,8 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers { result.Code = 500; result.Message = ex.Message; - } - + } + return result; } @@ -131,18 +131,18 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers /// /// /// 备用参数. - [System.Web.Mvc.HttpPost] - public bool Logout(string token, string requestid = "") - { - try - { - _objCacheProvider.Remove(token); - return true; - } - catch (Exception) - { - return false; - } - } - } + [System.Web.Mvc.HttpPost] + public bool Logout(string token, string requestid = "") + { + try + { + _objCacheProvider.Remove(token); + return true; + } + catch (Exception) + { + return false; + } + } + } } \ No newline at end of file