<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-2" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Jan Kundrát napsal(a):<br>
<br>
<pre wrap="">Pokud je to na druhou stranu treba z nejakeho jineho stroje, zrejme
sessions pouzivas spatne.
</pre>
<br>
VL:<br>
Ano. Asi používám sessions špatně:<br>
<br>
<small><i><font color="#ff0000">class Login:<br>
    def check(cls, fn):<br>
        def _check(self, *args, **kwargs):<br>
            if cherrypy.session.has_key('userid'):<br>
                # Uživatel je zalogován; povol přístup<br>
        return fn(self, *args, **kwargs)<br>
        else:<br>
                # Uživatel není zalogován.<br>
                # Podívej se, zda se zrovna nepokouší připojit<br>
        try:<br>
                    submit = kwargs['login']<br>
                    user = kwargs['loginUser']<br>
                    password = kwargs['loginPassword']<br>
                except KeyError:<br>
                    # Ne, to nebyl pokus o zalogování. Pusť uživatele<br>
                    # na stránku.<br>
                    return self.loginPage(cherrypy.url())<br>
       <br>
        # Nyní zkontroluj user id podle user a password<br>
        userrights = self.getUserId(user, password)<br>
        if userrights is None:<br>
                    # Chybný username nebo password<br>
                    return self.loginPage(cherrypy.url(), 'Neplatné
jméno nebo heslo.')<br>
                # Uživatel je zalogován, uložím userid v sessions<br>
                cherrypy.session['userid'] = user<br>
        <br>
                return fn(self, *args, **kwargs)<br>
        <br>
    return _check<br>
    check = classmethod(check)<br>
</font></i><br>
Tohoto mechanizmu používám při volání zabezpečených stránek, kde
příchozího a jeho oprávnění ověřuji v modulu <i><font color="#ff0000">getUserId(user,
password)<br>
</font></i></small>
<br>
<br>
</body>
</html>