using Bootstrap.Client.DataAccess;
using Longbow.Configuration;
using Microsoft.AspNetCore.Authentication.Cookies;
using System;
using System.Security.Principal;
namespace Bootstrap.Client.Models
{
///
///
///
public class HeaderBarModel : ModelBase
{
///
///
///
///
public HeaderBarModel(IIdentity identity)
{
var user = UserHelper.RetrieveUserByUserName(identity.Name);
Icon = $"{ConfigurationManager.AppSettings["AuthHost"]}/{DictHelper.RetrieveIconFolderPath().Trim('~', '/')}/{user.Icon}";
DisplayName = user.DisplayName;
UserName = user.UserName;
SettingsUrl = DictHelper.RetrieveSettingsUrl();
ProfilesUrl = DictHelper.RetrieveProfilesUrl();
NotisUrl = DictHelper.RetrieveNotisUrl();
var uriBuilder = new UriBuilder(ConfigurationManager.AppSettings["AuthHost"]);
uriBuilder.Path = uriBuilder.Path == "/" ? CookieAuthenticationDefaults.LogoutPath.Value : uriBuilder.Path + CookieAuthenticationDefaults.LogoutPath;
LogoutUrl = uriBuilder.ToString();
if (!string.IsNullOrEmpty(user.Css)) Theme = user.Css;
}
///
///
///
public string UserName { get; }
///
///
///
public string DisplayName { get; }
///
/// 获得/设置 用户头像地址
///
public string Icon { get; }
///
/// 获得/设置 设置网址
///
public string SettingsUrl { get; }
///
/// 获得/设置 个人中心网址
///
public string ProfilesUrl { get; }
///
/// 获得 退出登录地址
///
public string LogoutUrl { get; }
///
///
///
public string NotisUrl { get; }
}
}