def requestAvatar(self, avatarId, mind,*interfaces): for iface in interfaces: if iface is ftp.IFTPShell: if avatarId is checkers.ANONYMOUS:
avatar = ftp.FTPAnonymousShell(self.anonymousRoot) else:
user_dir = self.dir[avatarId]
avatar = ftp.FTPShell(filepath.FilePath(user_dir)) return ftp.IFTPShell, avatar, \
getattr(avatar,'logout',lambda: None) raiseNotImplementedError(\ "Only IFTPShell interface is supported by this realm")
# 这个./表示本地路径,是匿名用户的默认文件夹
#
关于的Portal类的具体信息,请去C:\Python25\Lib\site-packages\twisted\cred\protal.py
文件中寻找
p = portal.Portal(MyFTPRealm('./'))
p.registerChecker(checkers.AllowAnonymousAccess())