Just as an additional hint to Marks answer, you should use try/finaly.
If there's something going wrong while authentication your WaitCursor will stay.
try
{
Cursor.Current = Cursors.WaitCursor;
}
catch (Exception ex)
{
}
finally
{
Cursor.Current = Cursors.Default;
}