auth cookie expires after 30 days
only check hit offset when distance > 3 meters fix null reference on unauthorized user fixed stats not showing on profile if anticheat disabled server client history turns red server is unresponsive
This commit is contained in:
@ -2,6 +2,7 @@
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||
using System.Security.Claims;
|
||||
using System;
|
||||
|
||||
namespace WebfrontCore.Controllers
|
||||
{
|
||||
@ -15,23 +16,37 @@ namespace WebfrontCore.Controllers
|
||||
return Unauthorized();
|
||||
}
|
||||
|
||||
var client = IW4MAdmin.Program.ServerManager.PrivilegedClients[userId];
|
||||
string[] hashedPassword = await Task.FromResult(SharedLibrary.Helpers.Hashing.Hash(password, client.PasswordSalt));
|
||||
|
||||
if (hashedPassword[0] == client.Password)
|
||||
try
|
||||
{
|
||||
var claims = new[]
|
||||
var client = IW4MAdmin.Program.ServerManager.PrivilegedClients[userId];
|
||||
string[] hashedPassword = await Task.FromResult(SharedLibrary.Helpers.Hashing.Hash(password, client.PasswordSalt));
|
||||
|
||||
if (hashedPassword[0] == client.Password)
|
||||
{
|
||||
var claims = new[]
|
||||
{
|
||||
new Claim(ClaimTypes.NameIdentifier, client.Name),
|
||||
new Claim(ClaimTypes.Role, client.Level.ToString()),
|
||||
new Claim(ClaimTypes.Sid, client.ClientId.ToString())
|
||||
};
|
||||
|
||||
var claimsIdentity = new ClaimsIdentity(claims, "login");
|
||||
var claimsPrinciple = new ClaimsPrincipal(claimsIdentity);
|
||||
await HttpContext.Authentication.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrinciple);
|
||||
var claimsIdentity = new ClaimsIdentity(claims, "login");
|
||||
var claimsPrinciple = new ClaimsPrincipal(claimsIdentity);
|
||||
await HttpContext.Authentication.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrinciple, new Microsoft.AspNetCore.Http.Authentication.AuthenticationProperties()
|
||||
{
|
||||
AllowRefresh = true,
|
||||
ExpiresUtc = DateTime.UtcNow.AddDays(30),
|
||||
IsPersistent = true,
|
||||
IssuedUtc = DateTime.UtcNow
|
||||
});
|
||||
|
||||
return Ok();
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception)
|
||||
{
|
||||
return Unauthorized();
|
||||
}
|
||||
|
||||
return Unauthorized();
|
||||
|
@ -82,7 +82,7 @@ namespace WebfrontCore.Controllers
|
||||
{
|
||||
new InputInfo()
|
||||
{
|
||||
Name = "UserID"
|
||||
Name = "User ID"
|
||||
},
|
||||
new InputInfo()
|
||||
{
|
||||
|
@ -30,8 +30,12 @@ namespace WebfrontCore.Controllers
|
||||
{
|
||||
|
||||
var server = Manager.Servers.First(s => s.GetHashCode() == serverId);
|
||||
var client = User.AsPlayer();
|
||||
client.CurrentServer = server;
|
||||
var client = new Player()
|
||||
{
|
||||
ClientId = User.ClientId,
|
||||
Level = User.Level,
|
||||
CurrentServer = server
|
||||
};
|
||||
|
||||
var remoteEvent = new Event(Event.GType.Say, command, client, null, server);
|
||||
|
||||
|
@ -35,7 +35,7 @@ namespace WebfrontCore.Controllers
|
||||
LevelInt = (int)p.Level
|
||||
}).ToList(),
|
||||
ChatHistory = s.ChatHistory.OrderBy(c => c.Time).Take((int)Math.Ceiling(s.ClientNum / 2.0)).ToArray(),
|
||||
PlayerHistory = s.PlayerHistory.ToArray()
|
||||
PlayerHistory = s.PlayerHistory.ToArray(),
|
||||
};
|
||||
return PartialView("_ClientActivity", serverInfo);
|
||||
}
|
||||
|
Reference in New Issue
Block a user