加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何正确地将网站分成不同的区域?

发布时间:2020-12-15 21:33:29 所属栏目:百科 来源:网络整理
导读:我正在开发一个ASP.NET项目,我需要将当前的应用程序拆分为加拿大/美国/国际系统.此拆分将允许某些用户仅查看/修改他们有权访问的区域中的数据. 为了避免将来出现维护噩梦,我在应用程序的主表中添加了RegionID,包括权限.这应该可以让我轻松地分解所有内容,并
我正在开发一个ASP.NET项目,我需要将当前的应用程序拆分为加拿大/美国/国际系统.此拆分将允许某些用户仅查看/修改他们有权访问的区域中的数据.

为了避免将来出现维护噩梦,我在应用程序的主表中添加了RegionID,包括权限.这应该可以让我轻松地分解所有内容,并管理允许人们看到的内容以及不允许人们看到的内容.基于AD用户,我可以保存他们的默认区域,这将节省他们每次尝试访问应用程序时看到Region Splash屏幕的麻烦.

由于我从未构建过区域性的Web应用程序,这听起来相当简单,但在我完全潜入之前,我想知道是否有“按书”的方式来做到这一点?请记住,我宁愿不必完全重建这个应用程序,因为我没有时间或资源这样做.

解决方法

在我看来,实现这一目标的最佳方法是使用与您拥有不同语言或国家时相同的方法.可能你需要开发一个文件来定义用户的上下文,languagecontext,countrycontext – 在你的情况下 – .您可以使用数据库持久性以及用户中每个区域的ID来实现此目的 – 匿名也可以 – 配置文件表或使用cookie来保存regioncontext的详细信息.然后,您可以在正常类中使用该信息,并在考虑用户区域的情况下显示信息.

public Region RegionContext
{
    get
    {
        if (this.user != null &&
            this.user.Region!= null)
            return this.user.Region;

        var region= _region.GetAllRegions().FirstOrDefault();
        return region;
    }
    set
    {
        if (this.user == null)
            return;

        this.user.region = value;
        _user.UpdateUser(this.User);
    }
}

其中region具有ID,用户具有fk到region.brgds!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读