问题列表 - 第15860页

用户角色 - 为什么不在会话中存储?

我正在将一个ASP.NET应用程序移植到MVC,并且需要存储与认证用户相关的两个项目:角色列表和可见项目ID列表,以确定用户可以看到或看不到的内容.

我们过去曾使用WSE和Web服务,这使得事情变得异常复杂,无法正常调试.现在,我们正在放弃我正在寻求的Web服务,以简单地简化解决方案,只是为了将这些东西存储在会话中.一位同事建议使用角色和成员资格提供者,但在研究这个问题时我发现了一些问题:

a)它遇到了与WSE类似但不同的问题,因为它必须以非常有限的方式使用,即使编写测试它也很棘手;

b)RolesProvider唯一的缓存选项基于我们因安全原因而拒绝的cookie;

c)它引入了并发症和额外不必要的行李;

简而言之,我们想要做的就是在用户的会话中存储两个字符串变量或以安全的方式存储等价物,并在需要时引用它们.到目前为止,似乎是一个十分钟的工作需要花费几天时间进行调查,并且为了解决我们现在发现会话ID显然是伪造的问题,请参阅

http://blogs.sans.org/appsecstreetfighter/2009/06/14/session-attacks-and-aspnet-part-1/

我一直认为没有简单的方法来完成这项非常简单的工作,但我发现无法相信.

谁能:

a)提供有关如何使ASP.NET MVC会话安全的简单信息,因为我一直认为它们是安全的?

b)建议另一种简单的方法来为登录用户的角色等存储这两个字符串变量,而不必像上面所描述的那样用另一个替换一个复杂的噩梦?

谢谢.

asp.net asp.net-mvc session roles

10
推荐指数
2
解决办法
6624
查看次数

多对多的关系

我有一个客户和经理,两个独立的表.我的客户表有近一亿条记录,而经理表有100条记录.现在,我可以将客户映射到经理.规则如下

  1. 一位经理可以拥有多个客户.
  2. 一个客户可以与多个经理进行映射.

什么是最好的DB设计来解决这个问题?创建有效的ManagerCustomerMapping是一个想法.但我对它并不满意.因为这导致我一张很大的桌子.例如.如果Manager1和Manager2映射到所有客户,则此表具有2亿条记录.

database-design data-modeling

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

用于REST的HTTP MODIFY动词?

据我所知,没有RESTful方法可以对资源进行修改.为了做到这一点,你必须将资源作为一个整体,覆盖以前的表示.我认为这是问题的根源,特别是当资源具有大量表示时.

我相信这暗示了HTTP1.1中缺少动词:类似于MODIFY或PATCH.甚至WebDAV都没有这个动词(它有PROPPATCH,其概念类似,但不适用于资源).

对于真实世界的REST,当前的HTTP 1.1动词集是不是太有限了?

编辑:我在IETF找到了关于PATCH动词的提议

http://tools.ietf.org/html/draft-dusseault-http-patch-15

此规范定义了用于对资源应用部分修改的新HTTP/1.1 [RFC2616]方法PATCH.

需要一种新方法来提高互操作性并防止错误.PUT方法已经定义为使用完整的新主体覆盖资源,并且不能重用以进行部分更改.否则,代理和缓存甚至客户端和服务器可能会对操作结果感到困惑.早期的HTTP规范中提到了PATCH,但没有完全定义.

据我所知,这种动词的唯一问题是缺乏幂等性.

编辑: 截至2010年3月,RFC 5789存在(HTTP的PATCH方法).

rest http http-headers

13
推荐指数
3
解决办法
4645
查看次数

Java:怎么不编译?

为什么这段代码不能编译?

class A
{
  class B
  {
    public enum Enum   <-- this line
    {
      AD,
      BC
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

编译报告:

enum declarations allowed only in static contexts.
Run Code Online (Sandbox Code Playgroud)

但是当我把Enum放在A级时,一切都还好.

这非常令人惊讶.我不认为我在C++中遇到这个问题.

java enums

8
推荐指数
1
解决办法
4651
查看次数

jQuery - 深入链接jQuery地址

我真的想使用jQuery地址插件来深度链接我的ajax网站,但老实说,我很难理解如何设置它.

即使这些例子似乎也不清楚.

有没有人有一个关于如何使这个工作的简单例子?

ajax jquery deep-linking

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

在Excel公式中插入换行符(MacOS)

我在Mac上使用MS Excel.

我有一个公式,我希望在其中插入换行符:

Guests!A1 & " " & Guests!B1 & [newline here] Guests!C1
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

macos excel newline formulas

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

CSS3和HTML的隐藏功能/属性/属性/标签

在CSS和HTML世界中,总有一些功能(属性/属性/标签)在边缘场景中很有用,但正因如此,大多数人都不了解它们.我要求提供有关CSS,CSS3和HTML5的教科书通常不会教授的功能.

你知道的是什么?

[更新] 哪些浏览器采用HTML标签和CSS3元素?我可以为我的业务转发这项新技术(HTML5)吗?

html css html5 css3

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

如何通过端口关闭TCP连接?

我想关闭在我的服务器上运行的应用程序之间的现有连接.如果您有任何建议请回复如何编程,您将不胜感激.

请注意:TCPView应用程序可以完全按照我的需要关闭连接,但我想将其作为控制台应用程序或其他命令行运行.

sockets connection tcp

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

在Python中装饰实例方法

这是我要做的事情的要点.我有一个对象列表,我知道他们有一个实例方法,如下所示:

def render(self, name, value, attrs)
   # Renders a widget...
Run Code Online (Sandbox Code Playgroud)

我想(essentialy)在运行时装饰这些函数,因为我正在迭代对象列表.这样他们的渲染函数就变成了:

def render(self, name, value, attrs)
   self.attrs=attrs
   # Renders a widget...
Run Code Online (Sandbox Code Playgroud)

两个警告:

  1. 渲染函数是django的一部分.我不能把装饰器放在他们的库中(我可以,但是我必须维护和迁移这个改变).
  2. 这是一个实例方法.

这里有一个例子:http: //wiki.python.org/moin/PythonDecoratorLibrary

演示如何向类添加新的实例方法.这里的区别是我想记住那个attrs参数后我想要落到原来的方法.

python django class decorator instance

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

if-else条件用于更新SQL Server 2005中存储过程中的表

我想在指定的情况下更新一些数据,否则不会更新这些列.

我可以在存储过程中为此编写什么代码?

sql sql-server stored-procedures sql-server-2005

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