Реализация основанной на требованиях безопасности (WCF/ASP.NET)

Могу ли я предложить следующее в качестве отправной точки? Обратите внимание, что вам нужно будет снабдить свой собственный файл words.txt одним греческим словом в строке. Как только этот файл находится в том же каталоге, эта программа должна нормально работать:

#! /usr/bin/env python3
import random
import sys
import turtle


def main():
    words = load_words()
    my_word = random.choice(words)
    print('Welcome to the game of hangman!')
    print('I have chosen a word for you to guess,')
    print(f'and it contains {len(my_word)} letters.')
    print('Here is the gallows for your hangman.')
    hangman = draw_hangman()
    next(hangman)
    guess = [None] * len(my_word)
    wrong = []
    while True:
        print('This is what you have so far.')
        print(' '.join('_' if char is None else char for char in guess))
        char = get_character()
        if char in guess or char in wrong:
            print(f'You have already guessed {char!r} previously.')
        elif char in my_word:
            for index, my_char in enumerate(my_word):
                if my_char == char:
                    guess[index] = my_char
            if None not in guess:
                print('You have won!')
                print(f'You have guessed {my_word!r} correctly!')
                draw_finish()
        else:
            wrong.append(char)
            print('Wrong!')
            next(hangman)


def get_character():
    while True:
        try:
            char = input('What character would you like to guess? ')
        except EOFError:
            sys.exit()
        except KeyboardInterrupt:
            print('Please try again.')
        else:
            if len(char) != 1:
                print('Only a single character can be accepted.')
            elif not char.isalpha():
                print('Please only use letters from the alphabet.')
            else:
                return char.casefold()


def load_words():
    with open('words.txt') as file:
        return [word.casefold()
                for word in map(str.strip, file)
                if word.isalpha() and len(word) >= 5 and len(set(word)) > 1]


def draw_hangman():
    # Draw the gallows.
    turtle.mode('logo')
    turtle.speed(0)
    turtle.reset()
    turtle.penup()
    turtle.hideturtle()
    turtle.goto(300, -300)
    turtle.pendown()
    turtle.goto(-300, -300)
    turtle.goto(-300, 200)
    turtle.goto(-200, 300)
    turtle.goto(0, 300)
    turtle.color('brown')
    turtle.goto(0, 200)
    yield
    # Draw the head.
    turtle.color('green')
    turtle.left(90)
    turtle.circle(50)
    yield
    # Draw the body.
    turtle.penup()
    turtle.left(90)
    turtle.forward(100)
    turtle.pendown()
    turtle.forward(200)
    yield
    # Draw left arm.
    turtle.penup()
    turtle.backward(150)
    turtle.right(45)
    turtle.pendown()
    turtle.forward(100)
    yield
    # Draw right arm.
    turtle.penup()
    turtle.backward(100)
    turtle.left(90)
    turtle.pendown()
    turtle.forward(100)
    yield
    # Draw left leg.
    turtle.penup()
    turtle.backward(100)
    turtle.right(45)
    turtle.forward(150)
    turtle.right(22.5)
    turtle.pendown()
    turtle.forward(150)
    yield
    # Draw right leg.
    turtle.penup()
    turtle.backward(150)
    turtle.left(45)
    turtle.pendown()
    turtle.forward(150)
    turtle.done()


def draw_finish():
    turtle.penup()
    turtle.goto(0, 0)
    turtle.write('You won!')
    turtle.done()


if __name__ == '__main__':
    main()
6
задан Brock Adams 10 March 2011 в 06:01
поделиться

2 ответа

Я думаю, что нашел свой ответ :D

http://www.theserverside.net/tt/articles/showarticle.tss?id=ClaimsBasedSecurityModel http://www.theserverside.net/tt/articles/showarticle.tss?id=ClaimsBasedSecurityModel2

И затем существует последняя Microsoft Geneva Framework, о которой объявляют в PDC. Идеально подходящий для того, в чем я нуждаюсь. (теперь, если только мой собственный ответ был отмечен как ответ :P)

http://www.microsoft.com/geneva

5
ответ дан 17 December 2019 в 04:53
поделиться

Лучшая вещь реализовать STS на на платформе Windows состоит в том, чтобы использовать AD FS.

См. этот блог для получения дополнительной информации http://blogs.msdn.com/vbertocci/archive/2007/11/19/developing-a-minimal-sts-with-adfs-2-identity-framework-part-i-the-sts-itself.aspx.

0
ответ дан 17 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: