Former-commit-id: ff5d0eab9e9d6e97871d6428c72611bc254667c0
Former-commit-id: 4e6b89a8d9c417f93f84bf91c259462ece2f61a1
TSXN
wanggang 5 years ago
parent 0f624a799a
commit a066502c81

@ -58,6 +58,30 @@ namespace IoTCenter.Api.Controllers
this._userRoleRepo = userRoleRepo; this._userRoleRepo = userRoleRepo;
} }
[AllowAnonymous]
[HttpGet]
[Route("/Cas")]
public IActionResult Cas(string ticket)
{
var home = this._settingService.GetSetting("home")?.Value ?? "http://10.255.253.183";
var sso = this._settingService.GetSetting("sso")?.Value ?? "http://10.255.253.190/dsssoserver";
if (string.IsNullOrEmpty(ticket))
{//跳转到cas
var url = sso + "/login?service=" + HttpUtility.UrlEncode(home);
return Redirect(url);
}
else
{
var url = sso + "/serviceValidate?ticket=" + ticket + "&service=" + HttpUtility.UrlEncode(home);
var httpClient = this._httpClientFactory.CreateClient();
var result = httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
var userName = this.NeiMengWuHai(result);
home += "?accessToken=" + Request.HttpContext.GetToken(userName, _cfg, DateTime.Now.AddYears(100));
home += "&refreshToken=" + Request.HttpContext.GetToken(userName, _cfg, DateTime.Now.AddYears(100));
return Redirect(home);
}
}
[AllowAnonymous] [AllowAnonymous]
[HttpGet] [HttpGet]
public IActionResult CasLogin(string ticket, string home) public IActionResult CasLogin(string ticket, string home)
@ -89,7 +113,7 @@ namespace IoTCenter.Api.Controllers
//d_wudaqu 300348 5LmM6L6+5Yy6566h55CG5ZGY 15785 d_wudaqu 5LmM6L6+5Yy65pWZ6IKy5bGA 5 63,12,335 //d_wudaqu 300348 5LmM6L6+5Yy6566h55CG5ZGY 15785 d_wudaqu 5LmM6L6+5Yy65pWZ6IKy5bGA 5 63,12,335
var doc = new XmlDocument(); var doc = new XmlDocument();
doc.LoadXml(result); doc.LoadXml(result);
var userName = doc.GetElementsByTagName("cas:USER_NAME")[0].InnerText.Trim(); var userName = doc.GetElementsByTagName("cas:USER_NAME")[0].InnerText.Trim();
var personId = Convert.ToInt32(doc.GetElementsByTagName("cas:PERSON_ID")[0].InnerText.Trim()); var personId = Convert.ToInt32(doc.GetElementsByTagName("cas:PERSON_ID")[0].InnerText.Trim());
var connStr = this._cfg.GetConnectionString("mariyadb"); var connStr = this._cfg.GetConnectionString("mariyadb");
try try
@ -153,7 +177,7 @@ namespace IoTCenter.Api.Controllers
organUser = new OrganUser { UserId = user.Id, OrganId = organ.Id }; organUser = new OrganUser { UserId = user.Id, OrganId = organ.Id };
this._organUserRepo.SaveChanges(); this._organUserRepo.SaveChanges();
} }
if (roles.Any()) if (roles.Any())
{ {
foreach (var item in roles) foreach (var item in roles)
@ -276,9 +300,10 @@ namespace IoTCenter.Api.Controllers
public IActionResult RedirectTo(string url) public IActionResult RedirectTo(string url)
{ {
Response.Headers.Remove("Referer"); Response.Redirect(url);
return Redirect(url); return new EmptyResult();
} }
public string Test() public string Test()
{ {
var connStr = this._cfg.GetConnectionString("mariyadb"); var connStr = this._cfg.GetConnectionString("mariyadb");
@ -288,7 +313,7 @@ namespace IoTCenter.Api.Controllers
using var db = new BaseDbContext(connStr); using var db = new BaseDbContext(connStr);
var user = db.Set<Person>().FirstOrDefault(o => o.Id == personId); var user = db.Set<Person>().FirstOrDefault(o => o.Id == personId);
var organ = db.Set<Organization>().FirstOrDefault(o => o.OrganId == user.BureauId); var organ = db.Set<Organization>().FirstOrDefault(o => o.OrganId == user.BureauId);
var roles = (from perssonRole in db.Set<PersonRole>().Where(o=>o.PersonId==user.Id) var roles = (from perssonRole in db.Set<PersonRole>().Where(o => o.PersonId == user.Id)
join role in db.Set<SystemRole>() on perssonRole.RoleId equals role.Id join role in db.Set<SystemRole>() on perssonRole.RoleId equals role.Id
select role.RoleName).Distinct().ToList(); select role.RoleName).Distinct().ToList();
return connStr + user.RealName + organ.Name + roles.ToJson(); return connStr + user.RealName + organ.Name + roles.ToJson();

@ -4,7 +4,7 @@
<SatelliteResourceLanguages>Zh-CN</SatelliteResourceLanguages> <SatelliteResourceLanguages>Zh-CN</SatelliteResourceLanguages>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
<GenerateAssemblyProductAttribute>true</GenerateAssemblyProductAttribute> <GenerateAssemblyProductAttribute>true</GenerateAssemblyProductAttribute>
<Version>1.1.0.5</Version> <Version>1.1.0.9</Version>
<DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath> <DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS> <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<UserSecretsId>01c763b3-e889-4317-a299-82524d5357ce</UserSecretsId> <UserSecretsId>01c763b3-e889-4317-a299-82524d5357ce</UserSecretsId>

@ -87,6 +87,7 @@
"pwd": "admin" "pwd": "admin"
}, },
"SSO": { "SSO": {
"home": "http://10.255.253.183",
"url": "http://221.194.113.154:8100/wsdl/EMIIS_WS/webServer/dataEX_share", "url": "http://221.194.113.154:8100/wsdl/EMIIS_WS/webServer/dataEX_share",
"user": "wulianwang", "user": "wulianwang",
"login": "2020-11-16", "login": "2020-11-16",

@ -41,8 +41,6 @@ namespace WebMVC
app.UseFileServer(); app.UseFileServer();
app.UseSpaStaticFiles();
app.UseRouting(); app.UseRouting();
app.UseAuthorization(); app.UseAuthorization();

Loading…
Cancel
Save