小编Ste*_*atz的帖子

.NET中的用户组和角色管理与Active Directory

我目前正在研究存储基于.NET的项目的用户角色和权限的方法.其中一些项目是基于网络的,有些则不是.我目前正在努力寻找最佳方法来实现我正在寻找的跨项目类型的一致,可移植的方式.

在我所处的位置,我们希望利用Active Directory作为基本用户信息的单点联系人.因此,我们希望不必为每个应用程序的用户维护自定义数据库,因为它们已存储在Active Directory中并在那里进行了主动维护.此外,我们不希望编写自己的安全模型/代码,并且希望使用预先存在的内容,例如Microsoft提供的安全应用程序块.

某些项目仅需要基本权限,例如读取,写入或无访问权限.其他项目需要更复杂的权限.这些应用程序的用户可能被授予某些区域的访问权限,但不能访问其他区域,并且他们的权限可以在每个区 应用程序的管理部分将控制和定义此访问权限,而不是 AD工具.

目前,我们正在使用集成的Windows身份验证在我们的Intranet上执行身份验证.这非常适合查找基本用户信息,我已经看到ASP.NET可以扩展为提供Active Directory角色提供程序,因此我可以找到用户所属的任何安全组.但是,对我来说,这种方法的垮台似乎是所有内容都存储在Active Directory中,如果事情变得太大,可能会导致维护混乱.

同样,我也听说过Active Directory轻量级目录服务,它似乎可以扩展我们的架构并只添加特定于应用程序的属性和组.问题是,我找不到任何关于如何做到这一点或如何工作的事情.有MSDN文章描述了如何与这个实例交谈以及如何创建一个新实例,但似乎没有什么能回答我的问题.

我的问题是:根据您的经验,我是否走上正轨?我只想使用Active Directory做什么,还是必须使用其他工具?


我研究过的其他方法:

  • 使用多个web.config文件[ stackoverflow ]
  • 创建自定义安全模型和数据库以跨应用程序管理用户

.net asp.net security active-directory

56
推荐指数
1
解决办法
5万
查看次数

如何扩展Django Group模型?

有没有办法扩展内置的Django Group对象以添加类似于扩展用户对象的方式的其他属性?使用用户对象,您可以执行以下操作:

class UserProfile(models.Model):
    user = models.OneToOneField(User)
Run Code Online (Sandbox Code Playgroud)

并将以下内容添加到settings.py文件中

AUTH_PROFILE_MODULE = 'app.UserProfile'
Run Code Online (Sandbox Code Playgroud)

哪个让你:

profile = User.objects.get(id=1).get_profile()
Run Code Online (Sandbox Code Playgroud)

是否有任何相当于扩展组的方法?如果没有,我可以采取另一种方法吗?

python django django-models

39
推荐指数
4
解决办法
3万
查看次数

如何修复Kerberos双跳问题?

我在Web应用程序中调用Web服务时遇到了一些麻烦,我希望有人能够提供帮助.据我所知,这似乎与Kerberos 双跳问题有关.但是,如果是,我不知道该怎么做才能真正解决问题.为了使事情更难,我没有适当的权限来更改Active Directory帐户,因此我需要知道在请求更改时要求的内容.在我的情况下,我需要将凭据(集成Windows身份验证)从Web应用程序传递到后端Web服务,以便Web服务在适当的用户上下文中运行.

这是我的确切问题:

这有效

工作方案

这不起作用

非工作场景

只有工作方案和非工作方案之间的区别是,工作方案正在运行在本地主机上的应用程序(无论是开发人员的电脑或有问题的服务器上)和非工作实例另一台机器上运行.两种方案之间的代码完全相同.

我试过的

  1. 将SPN添加到为每个服务器运行应用程序池的域帐户 setspn -a http/server1 DOMAIN\account
  2. 不同的冒充方法
  3. 删除模拟代码using(...)并将Web服务调用作为应用程序池帐户执行.这按预期工作.

有没有人知道我可以做些什么来解决这个问题?

asp.net impersonation wcf kerberos

31
推荐指数
1
解决办法
3万
查看次数

Word Interop不在预定的任务中工作

我目前正在开发一个脚本,它接受Word文档,在Word中打开它,然后将Word文件打印为PDF.在我的机器或服务器上手动运行时,一切都很有效.当我尝试将其作为计划任务运行时,问题就出现了.

其中一个要求是,这应该在每晚进行,无需任何干预.当我设置一个计划任务来执行此操作并将安全选项设置为"仅在用户登录时运行"一切正常.问题是,这必须在有人登录或不登录的情况下运行.如果我将任务设置为"运行是否登录用户",则脚本将在以下行中失败:

wordDoc = MSWord.Documents.Open(ref fileToConvert, ref refFalse, ref refTrue, 
                                ref RN, ref RN, ref RN, ref RN, ref RN,
                                ref RN, ref RN, ref RN, ref RN, ref RN,
                                ref RN, ref RN, ref RN);
Run Code Online (Sandbox Code Playgroud)

MSWord.Documents.Open() 有效,但返回null.

此任务在带有Office 2007的Windows Server 2008上运行.

我应该采取另一种方法吗?

interop ms-word scheduled-tasks ms-office windows-server-2008

8
推荐指数
2
解决办法
8539
查看次数

带有nginx + apache + subversion + ssl的502 Bad Gateway(SVN COPY)

我在使用Nginx代理后面的SSL运行Apache + Subversion时出现问题,我希望有人可能有答案.我已经搜索谷歌几个小时寻找我的问题的答案,似乎无法搞清楚.我在使用subversion尝试移动或复制时看到的是"502(Bad Gateway)"错误; 但是,结帐和提交工作正常.以下是有问题的nginx和apache配置文件的相关部分(我认为):

Nginx的

upstream subversion_hosts {
    server 127.0.0.1:80;
}


server {
        listen       x.x.x.x:80;
        server_name  hostname;

        access_log   /srv/log/nginx/http.access_log main;
        error_log    /srv/log/nginx/http.error_log info;

        # redirect all requests to https
        rewrite ^/(.*)$ https://hostname/$1 redirect;
}

# HTTPS server
server {
        listen       x.x.x.x:443;
        server_name  hostname;

        passenger_enabled    on;
        root /path/to/rails/root;

        access_log   /srv/log/nginx/ssl.access_log main;
        error_log    /srv/log/nginx/ssl.error_log info;

        ssl                  on;
        ssl_certificate      server.crt;
        ssl_certificate_key  server.key;

        add_header Front-End-Https on;

        location /svn {
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                set $fixed_destination $http_destination;
                if ( …
Run Code Online (Sandbox Code Playgroud)

svn apache ssl nginx

7
推荐指数
3
解决办法
9736
查看次数

如何使用嵌套文本更改 WPF TabItem 的文本前景?

我希望在选项卡变为活动状态时更改 TabItem 文本的前景。我正在使用以下内容,在我更改选项卡中显示的内容类型之前,它工作正常:

<TabControl Style="{DynamicResource SidebarTabControl}">
    <TabItem Header="TabItem" Style="{DynamicResource SidebarTab}" />
</TabControl>

<Style x:Key="SidebarTabForegroundStyleSelected">
    <Setter Property="TextBlock.Foreground" Value="White" />
</Style>

<Style x:Key="SidebarTabForegroundStyle">
    <Setter Property="TextBlock.Foreground" Value="Black" />
</Style>

<Style x:Key="SidebarTab" TargetType="TabItem">
    <Setter Property="Padding" Value="10,12,2,12" />
    <Setter Property="BorderThickness" Value="0,1,0,1" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TabItem}">
                <Border Padding="{TemplateBinding Padding}" 
                    Name="tab" 
                    BorderThickness="{TemplateBinding BorderThickness}" 
                    BorderBrush="{StaticResource SidebarTabBorderBrush}"
                    SnapsToDevicePixels="True">
                    <ContentPresenter Style="{StaticResource SidebarTabForegroundStyle}" Name="content" ContentSource="Header" />
                </Border>

                <ControlTemplate.Triggers>
                    <Trigger Property="IsSelected" Value="True">
                        <Setter TargetName="tab" Property="Background" Value="{StaticResource SidebarTabBackgroundBrushSelected}" />
                        <Setter TargetName="tab" Property="BorderBrush" Value="{StaticResource SidebarTabBorderBrushSelected}" />
                        <Setter TargetName="content" Property="Style" Value="{StaticResource SidebarTabForegroundStyleSelected}" …
Run Code Online (Sandbox Code Playgroud)

wpf styles tabitem

4
推荐指数
1
解决办法
9620
查看次数