相关疑难解决方法(0)

AngularJS + ASP.NET Web API + ASP.NET MVC身份验证

我是AngularJS的新手,并试图为我的新Web应用程序评估它.

需求:

我将有一个ASP.NET Web API,它将从Android,iPhone和Web应用程序(ASP.NET MVC)中使用.ASP.NET Identity将在Web API中实现.所有三个应用程序都将调用Web API的登录方法来获取身份验证令牌.

问题:

我的问题是如何让ASP.NET MVC 服务器端身份验证工作(与Web API同步,所以我不必单独登录ASP.NET MVC),而Angular调用获取HTML模板/视图,JavaScript文件或其他资源.我已经浏览了很多关于AngularJS的文章和博客,但仍无法找到符合我要求的安全模型.

可能解决方案

最好是直接对ASP.NET MVC应用程序而不是Web API进行登录调用,并且ASP.NET MVC应用程序会调用Web API进行登录,并且一旦通过身份验证,就会在会话中保存身份验证令牌并创建一个FormsAuthentication cookie和cookie数据保存加密的身份验证令牌.此外,在HTML格式的ng-init中设置auth令牌,以在AngularJS范围内拥有令牌.现在,当AngularJS尝试调用ASP.NET MVC应用程序来获取HTML时,通过将cookie解密数据与会话中的auth数据进行匹配来验证/授权用户.此外,AngularJS将在头文件中发送auth令牌,以直接调用Web API方法,以便通过Web API进行数据操作的所有后续调用.

asp.net-mvc forms-authentication asp.net-web-api angularjs asp.net-identity

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

如何在不使用update-database的情况下生成启用迁移的EF6数据库?

在EF5中,我依赖的事实是我可以使用模型从模型重新创建数据库 Database.CreateIfNotExists()

我会根据需要生成迁移,但永远不会将它们检入源代码控制(因为它们往往是开发周期的工件)然后每个开发人员都会根据需要从模型中删除并重新创建自己的数据库.

然后,我们将通过比较代码的分支并获取SQL来生成迁移,以应用于生产或其他共享数据库.

此工作流似乎不再起作用,因为在启用迁移时无法从头开始生成数据库,而无需先生成所有迁移,然后再调用update-database.由于调用add-migration会修改csproj文件,这使得我的脚本(允许我们轻松切换分支)无法使用.

已为上下文"ApplicationDbContext"启用迁移,但数据库不存在或不包含映射表.使用迁移创建数据库及其表,例如通过从程序包管理器控制台运行"Update-Database"命令.

有没有办法恢复到EF5行为,其中Database.Create将创建当前版本的数据库?

entity-framework

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

AngularJS SPA中推荐的身份验证UX,具有自己和外部(Google,FB ...)配置文件

我正在开发一个Asp.net MVC + Web API + AngularJS SPA.我想有几种类型的注册/认证:

  • 自己的个人资料
  • 外部提供商,如谷歌,FB等

可能的情况

  1. 因为我有一个SPA,所以如果我可以将我的用户保留在我的页面上,而外部(或内部)将会发生.我会显示一个加载了特定内容的模态层(甚至可能在里面iframe).可以这样做吗?在线示例?

  2. 像往常一样实现登录/注册功能Asp.net MVC整页重新加载控制器/视图,然后在成功时重定向回我的SPA.如果用户想要使用外部提供商进行身份验证/注册,也可以重定向到外部提供商.

  3. 还有其他可能吗?

问题

  1. 您是如何在SPA中执行此类似的方案的,或者您会如何建议这样做?
  2. 我是否应该使用特定的身份验证模式 - 例如,提供类似于外部的内部身份验证/注册,以便SAP始终以相同的方式运行
  3. 在用户在SPA中进行身份验证之后,我还必须对我的Web API调用进行身份验证.对此有何指导?

authentication asp.net-web-api angularjs single-page-application asp.net-mvc-5

11
推荐指数
3
解决办法
3518
查看次数