diff --git a/OpenAuth.App/SSO/AuthUtil.cs b/OpenAuth.App/SSO/AuthUtil.cs index c156b5a0..dbcfdff2 100644 --- a/OpenAuth.App/SSO/AuthUtil.cs +++ b/OpenAuth.App/SSO/AuthUtil.cs @@ -45,7 +45,7 @@ namespace OpenAuth.App.SSO if (String.IsNullOrEmpty(token) || String.IsNullOrEmpty(GetToken())) return false; - var requestUri = String.Format("/SSO/Check/GetStatus?token={0}&requestid={1}", token, remark); + var requestUri = String.Format("/api/Check/GetStatus?token={0}&requestid={1}", token, remark); try { @@ -77,7 +77,7 @@ namespace OpenAuth.App.SSO public static UserWithAccessedCtrls GetCurrentUser(string remark = "") { - var requestUri = String.Format("/SSO/Check/GetUser?token={0}&requestid={1}", GetToken(), remark); + var requestUri = String.Format("/api/Check/GetUser?token={0}&requestid={1}", GetToken(), remark); try { @@ -99,7 +99,7 @@ namespace OpenAuth.App.SSO /// System.String. public static string GetUserName(string remark = "") { - var requestUri = String.Format("/SSO/Check/GetUserName?token={0}&requestid={1}", GetToken(), remark); + var requestUri = String.Format("/api/Check/GetUserName?token={0}&requestid={1}", GetToken(), remark); try { @@ -121,7 +121,7 @@ namespace OpenAuth.App.SSO /// System.String. public static LoginResult Login(string appKey, string username, string pwd) { - var requestUri = "/SSO/Check/Login"; + var requestUri = "/api/Check/Login"; try { @@ -150,7 +150,7 @@ namespace OpenAuth.App.SSO var token = GetToken(); if (String.IsNullOrEmpty(token)) return true; - var requestUri = String.Format("/SSO/Check/Logout?token={0}&requestid={1}", token, ""); + var requestUri = String.Format("/api/Check/Logout?token={0}&requestid={1}", token, ""); try { diff --git a/OpenAuth.WebApi/App_Start/WebApiConfig.cs b/OpenAuth.WebApi/App_Start/WebApiConfig.cs index 00e65ff7..387d484c 100644 --- a/OpenAuth.WebApi/App_Start/WebApiConfig.cs +++ b/OpenAuth.WebApi/App_Start/WebApiConfig.cs @@ -16,7 +16,7 @@ namespace OpenAuth.WebApi config.Routes.MapHttpRoute( name: "DefaultApi", - routeTemplate: "api/{controller}/{id}", + routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); } diff --git a/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs b/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs index ce070a4a..20989d9f 100644 --- a/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs +++ b/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs @@ -16,6 +16,7 @@ using Infrastructure.Cache; using OpenAuth.App; using OpenAuth.App.SSO; using System.Web.Mvc; +using OpenAuth.App.ViewModel; namespace OpenAuth.WebApi.Areas.SSO.Controllers { @@ -24,7 +25,7 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers /// 其他站点通过后台Post来认证 /// 或使用静态类OpenAuth.App.SSO.AuthUtil访问 /// - public class CheckController : Controller + public class CheckController : ApiController { private AuthorizeApp _app; private ObjCacheProvider _objCacheProvider = new ObjCacheProvider(); @@ -33,6 +34,7 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers _app = AutofacExt.GetFromFac(); } + [System.Web.Mvc.HttpGet] public bool GetStatus(string token = "", string requestid = "") { if (_objCacheProvider.GetCache(token) != null) @@ -41,19 +43,21 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers } return false; - } - - public string GetUser(string token = "", string requestid = "") + } + + [System.Web.Mvc.HttpGet] + public UserWithAccessedCtrls GetUser(string token = "", string requestid = "") { string userName = GetUserName(token, requestid); if (!string.IsNullOrEmpty(userName)) { - return JsonHelper.Instance.Serialize(_app.GetAccessedControls(userName)); + return _app.GetAccessedControls(userName); } - return string.Empty; - } - + return null; + } + + [System.Web.Mvc.HttpGet] public string GetUserName(string token, string requestid = "") { var user = _objCacheProvider.GetCache(token); @@ -66,9 +70,9 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers } [System.Web.Mvc.HttpPost] - public string Login(PassportLoginRequest request) + public LoginResult Login(PassportLoginRequest request) { - return JsonHelper.Instance.Serialize(SSOAuthUtil.Parse(request)); + return SSOAuthUtil.Parse(request); } [System.Web.Mvc.HttpPost]