小编Kev*_*vin的帖子

ASP.NET MVC表单身份验证+授权属性+简单角色

我正在尝试向ASP.NET MVC应用程序添加简单的身份验证和授权.

我只是试图在基本的表单身份验证上增加一些功能(由于简单性和自定义数据库结构)

假设这是我的数据库结构:用户:用户名密码角色(理想情况下是一些枚举.如果需要,则为字符串.目前,用户只有一个角色,但这可能会改变)

高级问题:鉴于上述数据库结构,我希望能够做到以下几点:

  • 使用表单身份验证简单登录
  • 用以下方式装饰我的行为:[授权(角色= {MyRoles.Admin,MyRoles.Member})]
  • 在我的视图中使用角色(以确定在某些部分中显示的链接)

目前,我真正确定的是如何进行身份验证.在那之后,我迷路了.我不确定我在哪个位置获取用户角色(登录,每次授权?).由于我的角色可能不是字符串,我不确定它们如何适应User.IsInRole().

现在,我在这里问,因为我没有找到一个"简单"完成我需要的东西.我见过多个例子.

对于身份验证

  • 我们有简单的用户验证来检查数据库和"SetAuthCookie"
  • 或者我们覆盖成员资格提供程序并在ValidateUser中执行此操作.在其中任何一个中,我不确定如何处理我的简单用户角色,以便它们使用:HttpContext.Current.User.IsInRole("Administrator")此外,我不知道如何修改它以使用我的枚举值.

对于授权,我看到:

  • 派生AuthorizeAttribute并实现AuthorizeCore OR OnAuthorization来处理角色?
  • 实施IPrincipal?

任何帮助将不胜感激.但是,我担心我可能需要很多细节,因为我用Google搜索的内容似乎都不适合我需要做的事情.

asp.net-mvc authorization forms-authentication

54
推荐指数
2
解决办法
6万
查看次数

实体框架在运行时多个数据库(相同的模式)?

首先,让我说我对EF很新.话虽如此,这是我的困境:

将有一个ASP.NET应用程序迁移到ASP.NET MVC.我想为此使用EF.有一个主数据库存储"客户信息".除此之外,每个"客户"都有自己的数据库.这些是我们的约束.

目前,主数据库中的客户端信息使我能够为每个客户端构建连接字符串并进行单独的SQL调用.

我如何在Entity Framework中完成同样的事情?每个数据库都具有相同的架构.有没有办法以编程方式切换连接字符串?这些数据库当前位于同一台服务器上,但这不是必需的,它可能是完全不同的服务器.

有任何想法吗?

Web.config中的多个连接字符串将是最后的手段.即便如此,我也不确定如何准确地将其连接起来.

先感谢您.

asp.net asp.net-mvc entity-framework

23
推荐指数
2
解决办法
1万
查看次数

Visual Studio 2015 - 无法连接到Xamarin Mac Agent - 为用户配置SSH时发生意外错误[MY_USER]

当我尝试连接到Mac代理时,我收到以下错误:为用户配置SSH时发生意外错误[MY_USER](下面的完整日志)

我在"故障排除"页面上尝试了所有内容:https: //developer.xamarin.com/guides/ios/getting_started/installation/windows/connecting-to-mac/troubleshooting/

包括"UseDNS no".

运行Xamarin的网络上有3台Mac Minis.我们有另一台可以使用相同凭据连接到所有3台的开发机器.从有问题的Windows机器,我可以ping mac,我可以使用Putty和Git Bash成功SSH到它.SSH似乎工作正常.我在Windows机器上尝试了不同的用户帐户(没有)我尝试使用列表中的Mac,使用IP地址手动输入机器名称.(没有)Mac没有防火墙设置.我试过在Windows机器上禁用防火墙.我可以确认,当我尝试使用错误的凭据时,Visual Studio会正确地提醒我,但使用正确的凭据会给我带来"意外错误".我不确定这两台机器有什么不同.

我已多次重启所有涉及的机器.我尝试在Dev机器上重新安装Visual Studio.

我没有想法.

任何帮助,将不胜感激.

从Visual Studio完整记录:

  Xamarin Information: 0 : [2016-06-13 18:19:35.0373] Xamarin - 4.1.0.530-cycle7-baseline+2e39740
  Xamarin.VisualStudio.Activation.AccountManager Information: 0 : [2016-06-13 18:19:35.1813] VS2015 Professional
  Xamarin.VisualStudio.ActivationManager Information: 0 : [2016-06-13 18:19:35.2483] No license found for iOS
  Xamarin.VisualStudio.ActivationManager Information: 0 : [2016-06-13 18:19:35.3113] Running license sync for iOS
  Xamarin.VisualStudio.ActivationManager Information: 0 : [2016-06-13 18:19:35.3783] Not logged in, using iOS VSProfessional
  Xamarin.VisualStudio.ActivationManager Information: 0 : [2016-06-13 18:19:35.4803] No license found for Android …
Run Code Online (Sandbox Code Playgroud)

xamarin.ios xamarin visual-studio-2015

7
推荐指数
1
解决办法
6773
查看次数