1
我有一个sectiontree根据当前登录的用户UserType而变化。刷新部分树新用户登录
问题是,如果我从后台登出,并且登录时用户类型较低的新用户,树不会刷新 - 代码不会重新运行以生成树。
这意味着具有非管理用户类型的用户可以访问该部分中的管理区域,只要管理员早先在相同的解决方案中登录即可。
我将如何使用户用户的SectionTree刷新登录?
更新
protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
{
var sectionApi = new SectionApiController();
// Root handler
if (id == Constants.System.Root.ToInvariantString())
{
this.RootHandler();
}
else if(id.Contains("COUNTRY_") || id.Contains("LEVEL_"))
{
var section = new IdConvert(id);
if (section.Area.Equals("country"))
{
this.FirstLevelHandler(section.Id);
}
else if (section.Area.Equals("level"))
{
this.GetLevels(section.Id);
}
// Render clubs.
this.ClubHandler();
// Render levels
this.LevelHandler();
} else if(id.Contains("CLUB_")) {
}
else if(id.Contains("SPORTS_")) {
var Country = new IdConvert(id);
this.SportsHandler(Country.Id);
}
else if (id.Contains("QUESTIONS_"))
{
var Country = new IdConvert(id);
this.QuestionsHandler(Country.Id);
}
return this._nodes;
}
树做工精细,它使得它应该呈现什么。但它会在新用户登录时刷新刷新。
我用下面来请检查是否或不是一个人,是基于注释“管理员”
public static bool IsAdministrator()
{
try
{
if (_curNewUser == null)
{
GetCurrentUser();
}
if (_curNewUser.UserType.Alias == "admin")
{
return true;
}
}
catch (Exception e) { }
return false;
}
你能告诉我们一些源代码吗?最好生成/填充sectiontTree的代码? – Pseudonym
代码added.Thanks –
你是否在用户注销时将_curNewUser设置为null? –