我有一个MVC4应用程序,我们想在另一个平台上使用。我们当前的安全性包括http请求标题中的一些自定义数据,我很好奇其他人用部分回发来解决安全问题。我真的很喜欢灵活性,其中一些(部分回发)解决了但是担心基本上你的整个标题构造都在可见的javascript中。
答案 0 :(得分:1)
我真的很喜欢其中一些灵活性(部分回发 那是解决,但担心基本上你的整个标题 在可见的javascript中构建正确。
不一定。您可以在服务器上保留此标头的构造,然后仅在javascript中使用它:
<script type="text/javascript">
var securityHeader = @Html.Raw(Json.Encode(Html.GenerateSecurityHeader()));
</script>
然后使用此securityHeader变量。显然,HTML中的值就在那里,但这并不比你现在拥有的那么安全(该值是请求中任何人都可以自由查看的HTTP头的一部分)。它只是在服务器上保留标头的实际生成。
所有这一切都说,为什么重新发明轮子,因为表单身份验证已经内置到框架中(或者如果你想要基于声明的身份验证需要更多的灵活性)?