Я использую Spring 3.0 вместе с с Spring Security. Я всегда использовал следующую конфигурацию:
<form-login login-page="/login" authentication-failure-url="/login?error=credentials" default-target-url="/account" login-processing-url="/security_check"/>
Поэтому, когда пользователь не входит в систему правильно, он переходит в / login. Теперь у меня есть диалог входа в систему на каждой странице сайта. Если они не входят в систему правильно, я не хочу, чтобы они перенаправлялись на / login ... вместо этого я хочу, чтобы они вернулись на страницу, на которой они находятся. Я открою тот же диалог, когда увижу error = credentials в качестве параметра. ...
Если я правильно понимаю, функция __cmp __ () объекта вызывается для оценки всех объектов в коллекции при определении того, является ли объект членом или «в» коллекции. Однако, похоже, это не относится к наборам:
class MyObject(object):
def __init__(self, data):
self.data = data
def __cmp__(self, other):
return self.data-other.data
a = MyObject(5)
b = MyObject(5)
print a in [b] //evaluates to True, as I'd expect
print a in set([b]) //evaluates to False
Как же тогда членство объекта проверяется в наборе?