Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS-项目结构-混合公共和私人页面_Angularjs_Azure_Asp.net Web Api2_Asp.net Web Api - Fatal编程技术网

AngularJS-项目结构-混合公共和私人页面

AngularJS-项目结构-混合公共和私人页面,angularjs,azure,asp.net-web-api2,asp.net-web-api,Angularjs,Azure,Asp.net Web Api2,Asp.net Web Api,我打算建立一个典型的信息网站,有一些不需要授权就可以查看的页面,但是我也希望有一个私人部分供工作人员登录。为了简单起见,我希望我可以做一个Web API项目,并在其中拥有一切,以简化我发布到azure的过程,简化域名和证书等 对于我来说,使用index.html作为容器并使用ui router在公共页面中导航是可以的,还是将所有公共页面作为完整的html文件并在它们之间进行典型的href导航更好 下面是我想到的可能的结构 app/->所有angularjs内容,包括私有视图和控制器 模型/ 控制

我打算建立一个典型的信息网站,有一些不需要授权就可以查看的页面,但是我也希望有一个私人部分供工作人员登录。为了简单起见,我希望我可以做一个Web API项目,并在其中拥有一切,以简化我发布到azure的过程,简化域名和证书等

对于我来说,使用index.html作为容器并使用ui router在公共页面中导航是可以的,还是将所有公共页面作为完整的html文件并在它们之间进行典型的href导航更好

下面是我想到的可能的结构

app/->所有angularjs内容,包括私有视图和控制器 模型/ 控制器 Index.html->公共主页 公共/所有公共页面

我试图实现的是,所有公共视图都可以通过http访问,但一旦登录页面被访问,从那时起所有流量都必须是https,有人有过这种经验吗

更新:
我已经决定强制所有页面使用https,这是否消除了所有内容都在应用程序下的结构担忧?

保持这种状态的最佳方法是使用全角度SPA,使用ui路由器在视图之间移动,而不是使用静态页面(即使您的部分视图只是没有功能的纯HTML)。您可以通过交替使用动态路由和角度导航以及典型的旧href导航来影响用户体验。您让用户重新加载页面的次数越少,他/她将获得更好的用户体验,此外,您必须在应用程序的整体流动方式上保持一致,以便用户不会对其产生不良印象。

感谢您帮助我相信我走上了正确的道路,我有过这样的经历:将事情拆分,然后必须处理CORS,即使配置正确,有时也会很棘手,所以我想避免这种情况。我认为我最需要帮助的问题是,在登录页面之前都使用http,然后在登录页面中使用https,据我所知,Azure为我提供了http和https端点。是的,这需要对webapi框架路由进行一些配置,我认为有一种方法可以要求某些路由使用https(我对webapi不太熟悉,因此我在这方面没有太大帮助).我猜当我们到达登录页面时,下面的操作可以切换到https吗?var forceSSL=函数(){if($location.protocol()!='https'){$window.location.href=$location.absUrl().replace('http','https');};forceSSL();在进一步阅读之后,我决定将每个页面都设置为https,这样我就不必担心应用程序的结构,只需将所有内容都放在应用程序下?