@staticmethod<EOL><INDENT>def requires_authentication(fn):<DEDENT>
@functools.wraps(fn)<EOL>def wrap(*args, **kwargs):<EOL><INDENT>subject = Yosai.get_current_subject()<EOL>if not subject.authenticated:<EOL><INDENT>msg = "<STR_LIT>"<EOL>raise UnauthenticatedException(msg)<EOL><DEDENT>return fn(*args, **kwargs)<EOL><DEDENT>return wrap<EOL>
Requires that the calling Subject be authenticated before allowing access.

:raises UnauthenticatedException: indicating that the decorated method is
                                  not allowed to be executed because the
                                  Subject failed to authenticate