我知道此前有人问过类似的问题.但我无法以某种方式使我的工作.以下是我尝试过的步骤.
我创建了一个bat文件,javaw -Xmx200m -jar C:\Path\to\jarfile\TheJar.jar并将其放入启动文件夹中.它适用于当前用户.这没有用,因为我想在所有用户登录PC后运行此文件.
我创建了键值为HKEY_local_machine> software> microsoft> windows> current version> run并将其放在字符串值中.那也行不通.
所以我有Windows 10 64位机器和jar文件需要放在这些计算机上.任何用户登录后,都需要运行jar文件.但到目前为止,我还没有做到这一点.
我有一个 MVC 控制器,旨在从 HTTP 标头读取用户的信息。标头包含从单点登录 (SiteMinder) 返回的用户信息。SiteMinder 将用户重定向到公司登录页面,并返回到我的应用程序以及 cookie 和 HTTP 标头。HTTP 标头包含用户信息。我的控制器应该获取这些信息并将其显示在导航栏中。
这是控制器代码:
[HttpGet]
public async Task<IActionResult> GetUser()
{
var person = Request.Headers["HTTP_JHED_UID"].ToString();
if (repository.GetJhedUser(person) != null)
{
var user = await repository.GetUser(person);
var userDto = mapper.Map<User, UserForDisplayDto>(user);
return Ok(userDto);
}
else
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我对应的存储库:
public string GetJhedUser(string value)
{
return context.Users.Where(x => x.JHED_ID == value).ToString();
}
public async Task<User> GetUser(string id, bool includeRelated = true)
{
if(!includeRelated)
return await context.Users.FindAsync(id);
return await context.Users
.SingleOrDefaultAsync(s => …Run Code Online (Sandbox Code Playgroud)